.flag-icon {
    background-size: contain;
    background-position: 50%;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
    width: 1.33333333em; /* примерно 4:3 */
    line-height: 1em;
}
.flag-icon:before {
    content: "\00a0"; /* чтобы элемент занимал место */
}

.flag-icon-ru { background-image: url('/templates/open_air/img/flag-icon/ru.svg'); }
.flag-icon-gb { background-image: url('/templates/open_air/img/flag-icon/gb.svg'); }
.flag-icon-de { background-image: url('/templates/open_air/img/flag-icon/de.svg'); }
.flag-icon-fr { background-image: url('/templates/open_air/img/flag-icon/fr.svg'); }
.flag-icon-pt { background-image: url('/templates/open_air/img/flag-icon/pt.svg'); }
.flag-icon-es { background-image: url('/templates/open_air/img/flag-icon/es.svg'); }
.flag-icon-it { background-image: url('/templates/open_air/img/flag-icon/it.svg'); }
.flag-icon-cn { background-image: url('/templates/open_air/img/flag-icon/cn.svg'); }
.flag-icon-sa { background-image: url('/templates/open_air/img/flag-icon/sa.svg'); }
