Я не знаю, что тут вообще не так. При нажатии на кнопку выпадает список, как и положено, но див ниже сжался размером. Код дива, который ниже:
display:flex;
justify-content:space-beetwen;
width:100% - 2vw;
align-items:center;
Используйте flex: 0 0 100%; - Эта строчка задает:
flex-grow: 0; - запрещает элементу увеличиваться по ширине.
flex-shrink: 0; - запрещает элементу сжиматься по ширине.
flex-basis:100%; - задает ширину в 100%
width:100%; в flex не работает.
И математику (если используете) помещайте в calc();
flex:0 0 calc(100% - 2vw);
Если вы пытаетесь так сделать отступы по бокам, то лучше задайте padding для контейнера.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей