Двоеточие ставится чтоб указать браузеру что это псевдоэлемент, хотя браузеры до сих пор поддерживают старую запись, чтоб не нарушить существующие сайты. Псевдоэлементы указываются перед элементом при помощи двойного двоеточия например p::first-letter применяет стиль первому дочернему элементу p. Там где начинается -webkit- -moz- -o- это вендорные префиксы для экспериментальных CSS свойств. Писать вручную эти префиксы не нужно и какие именно нужно вписывать об этом волноваться тоже не надо, для этих целей существует автоматизация. Не знаю где брал этот фрагмент кода, но его лучше не применять на своем сайте, этот псевдоэлемент существует но его переименовали в ::placeholder то есть сократили, но выполняет ту же функцию, и он находится в стадии разработки.
Справочник по HTML CSS
https://developer.mozilla.org/es/docs/Web/CSS/::-webkit-input-placeholderРусскоязычный справочник и ресурс по обучению веб-технологиям webref.ru
https://webref.ru/css/placeholder
《::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.5);}》
Вот эта часть зачем нужна?
《::-》
Или это просто отсебятина автора кода?