Реализовать подстраивание блоков под изменения ширины окна

Елена10 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.10.2018

Суть такая:

Есть страница, на ней по центру будет контейнер с фиксированной шириной 800px. По бокам от неё две кнопки: каждая из которой при клике раскрывает соответствующий блок слева/справа от нашего контейнера. Ширина этих блоков тоже фиксирована: 291px. 

Задача: 

1. На больших экранах, пока все эти блоки умещаются во всю ширину, они могут быть открыты как одновременно, так и только один. Тут ничего делать не надо.

2. Если ширина экрана небольшая и раскрывается только левый или правый блок, то центральный контейнер также плавно смещается в сторону, т.е раскрывающийся блок его не должен перекрывать. 

3. Если оба раскрытых блока + центральный контейнер перестают помещаться в ширину экрана, то блок, который был открыт первым, плавно закрывается.

4. Реализуем до ширины экрана 992px, ниже не смотрим.

5. Эти события должны срабатывать не только при ресайзе окна, но и при открытии/закрытии боковых панелей.

Вот мой код. Скрипт написан коряво и не весь, ориентироваться только на верстку:

https://codepen.io/Raneto4ka/pen/JmoERE

Вот видео, где можно посмотреть как это уже реализовано у других:

https://yadi.sk/d/5hkzCF7W1mNGWA

Заявки фрилансеров