Для начала, можно сократить код, div с классом "dots-item" можно оставить один, две другие точки нарисовать с помощью псевдо элементов, код будет более компактным. А про адаптив точек, тут могу сделать предположение, нужно использовать позиционирование, картинке задай postition: relative, а для div position: absolute. Точки уже не будут уезжать за границы картинки, а позиционирование точек задай в процентах, скажем left: 20%, top: 15%; значения будут зависеть от картинки, если где-то будет сильно съезжать, использую media, и вручную не много подправь. Возможно есть и более элегантное решение поставленной задачи, но моих скромных навыков хватает только на такое решение ;D