У вас у родителя стоит высота в 100 viewport height, а у дочернего элемента 1000px. Он будет его растягивать, а высота по-прежнему будет 100vh. Предлагаю левой боковой панели меню сделать
position: fixed;
left: 0;
top: 0;
width: 320px;
height: 100vh
Она всегда будет иметь высоту экрана. Правый блок сместить на ширину меню. Теперь его можно растягивать до бесконечности.
transform: translateX(320px)
Вот результат
https://jsfiddle.net/ouodkeLn/25/
Не задавайте высоту изображений в HTML коде. Всё в CSS :
#menu img {
width: 45px;
height: 45px;
}
Это же касается и обработчиков событий. Всё это дурной тон. Учитесь сразу делать красиво )