.ipsFlag {
    width: 16px;
    height: 16px;
    background: url(https://typography.guru/xmodules/flags/flags16.png) no-repeat;
    display: inline-block;
    vertical-align: text-top;
    line-height: 16px;
}

.ipsFlag.ipsFlag-ad {
    background-position: 0 -352px;
}

.ipsFlag.ipsFlag-ae {
    background-position: 0 -368px;
}

.ipsFlag.ipsFlag-af {
    background-position: 0 -384px;
}

.ipsFlag.ipsFlag-ag {
    background-position: 0 -400px;
}

.ipsFlag.ipsFlag-ai {
    background-position: 0 -416px;
}

.ipsFlag.ipsFlag-al {
    background-position: 0 -432px;
}

.ipsFlag.ipsFlag-am {
    background-position: 0 -448px;
}

.ipsFlag.ipsFlag-ao {
    background-position: 0 -464px;
}

.ipsFlag.ipsFlag-aq {
    background-position: 0 -480px;
}

.ipsFlag.ipsFlag-ar {
    background-position: 0 -496px;
}

.ipsFlag.ipsFlag-as {
    background-position: 0 -512px;
}

.ipsFlag.ipsFlag-at {
    background-position: 0 -528px;
}

.ipsFlag.ipsFlag-au {
    background-position: 0 -544px;
}

.ipsFlag.ipsFlag-aw {
    background-position: 0 -560px;
}

.ipsFlag.ipsFlag-ax {
    background-position: 0 -576px;
}

.ipsFlag.ipsFlag-az {
    background-position: 0 -592px;
}

.ipsFlag.ipsFlag-ba {
    background-position: 0 -608px;
}

.ipsFlag.ipsFlag-bb {
    background-position: 0 -624px;
}

.ipsFlag.ipsFlag-bd {
    background-position: 0 -640px;
}

.ipsFlag.ipsFlag-be {
    background-position: 0 -656px;
}

.ipsFlag.ipsFlag-bf {
    background-position: 0 -672px;
}

.ipsFlag.ipsFlag-bg {
    background-position: 0 -688px;
}

.ipsFlag.ipsFlag-bh {
    background-position: 0 -704px;
}

.ipsFlag.ipsFlag-bi {
    background-position: 0 -720px;
}

.ipsFlag.ipsFlag-bj {
    background-position: 0 -736px;
}

.ipsFlag.ipsFlag-bm {
    background-position: 0 -752px;
}

.ipsFlag.ipsFlag-bn {
    background-position: 0 -768px;
}

.ipsFlag.ipsFlag-bo {
    background-position: 0 -784px;
}

.ipsFlag.ipsFlag-br {
    background-position: 0 -800px;
}

.ipsFlag.ipsFlag-bs {
    background-position: 0 -816px;
}

.ipsFlag.ipsFlag-bt {
    background-position: 0 -832px;
}

.ipsFlag.ipsFlag-bw {
    background-position: 0 -848px;
}

.ipsFlag.ipsFlag-by {
    background-position: 0 -864px;
}

.ipsFlag.ipsFlag-bz {
    background-position: 0 -880px;
}

.ipsFlag.ipsFlag-ca {
    background-position: 0 -896px;
}

.ipsFlag.ipsFlag-cg {
    background-position: 0 -912px;
}

.ipsFlag.ipsFlag-cf {
    background-position: 0 -928px;
}

.ipsFlag.ipsFlag-cd {
    background-position: 0 -944px;
}

.ipsFlag.ipsFlag-ch {
    background-position: 0 -960px;
}

.ipsFlag.ipsFlag-ci {
    background-position: 0 -976px;
}

.ipsFlag.ipsFlag-ck {
    background-position: 0 -992px;
}

.ipsFlag.ipsFlag-cl {
    background-position: 0 -1008px;
}

.ipsFlag.ipsFlag-cm {
    background-position: 0 -1024px;
}

.ipsFlag.ipsFlag-cn {
    background-position: 0 -1040px;
}

.ipsFlag.ipsFlag-co {
    background-position: 0 -1056px;
}

.ipsFlag.ipsFlag-cr {
    background-position: 0 -1072px;
}

.ipsFlag.ipsFlag-cu {
    background-position: 0 -1088px;
}

.ipsFlag.ipsFlag-cv {
    background-position: 0 -1104px;
}

.ipsFlag.ipsFlag-cy {
    background-position: 0 -1120px;
}

.ipsFlag.ipsFlag-cz {
    background-position: 0 -1136px;
}

.ipsFlag.ipsFlag-de {
    background-position: 0 -1152px;
}

.ipsFlag.ipsFlag-dj {
    background-position: 0 -1168px;
}

.ipsFlag.ipsFlag-dk {
    background-position: 0 -1184px;
}

.ipsFlag.ipsFlag-dm {
    background-position: 0 -1200px;
}

.ipsFlag.ipsFlag-do {
    background-position: 0 -1216px;
}

.ipsFlag.ipsFlag-dz {
    background-position: 0 -1232px;
}

.ipsFlag.ipsFlag-ec {
    background-position: 0 -1248px;
}

.ipsFlag.ipsFlag-ee {
    background-position: 0 -1264px;
}

.ipsFlag.ipsFlag-eg {
    background-position: 0 -1280px;
}

.ipsFlag.ipsFlag-eh {
    background-position: 0 -1296px;
}

.ipsFlag.ipsFlag-er {
    background-position: 0 -1312px;
}

.ipsFlag.ipsFlag-es {
    background-position: 0 -1328px;
}

.ipsFlag.ipsFlag-et {
    background-position: 0 -1344px;
}

.ipsFlag.ipsFlag-fi {
    background-position: 0 -1360px;
}

.ipsFlag.ipsFlag-fj {
    background-position: 0 -1376px;
}

.ipsFlag.ipsFlag-fm {
    background-position: 0 -1392px;
}

.ipsFlag.ipsFlag-fo {
    background-position: 0 -1408px;
}

.ipsFlag.ipsFlag-fr {
    background-position: 0 -1424px;
}

.ipsFlag.ipsFlag-bl {
    background-position: 0 -1424px;
}

.ipsFlag.ipsFlag-cp {
    background-position: 0 -1424px;
}

.ipsFlag.ipsFlag-mf {
    background-position: 0 -1424px;
}

.ipsFlag.ipsFlag-yt {
    background-position: 0 -1424px;
}

.ipsFlag.ipsFlag-ga {
    background-position: 0 -1440px;
}

.ipsFlag.ipsFlag-gb {
    background-position: 0 -1456px;
}

.ipsFlag.ipsFlag-sh {
    background-position: 0 -1456px;
}

.ipsFlag.ipsFlag-gd {
    background-position: 0 -1472px;
}

.ipsFlag.ipsFlag-ge {
    background-position: 0 -1488px;
}

.ipsFlag.ipsFlag-gg {
    background-position: 0 -1504px;
}

.ipsFlag.ipsFlag-gh {
    background-position: 0 -1520px;
}

.ipsFlag.ipsFlag-gi {
    background-position: 0 -1536px;
}

.ipsFlag.ipsFlag-gl {
    background-position: 0 -1552px;
}

.ipsFlag.ipsFlag-gm {
    background-position: 0 -1568px;
}

.ipsFlag.ipsFlag-gn {
    background-position: 0 -1584px;
}

.ipsFlag.ipsFlag-gp {
    background-position: 0 -1600px;
}

.ipsFlag.ipsFlag-gq {
    background-position: 0 -1616px;
}

.ipsFlag.ipsFlag-gr {
    background-position: 0 -1632px;
}

.ipsFlag.ipsFlag-gt {
    background-position: 0 -1648px;
}

.ipsFlag.ipsFlag-gu {
    background-position: 0 -1664px;
}

.ipsFlag.ipsFlag-gw {
    background-position: 0 -1680px;
}

.ipsFlag.ipsFlag-gy {
    background-position: 0 -1696px;
}

.ipsFlag.ipsFlag-hk {
    background-position: 0 -1712px;
}

.ipsFlag.ipsFlag-hn {
    background-position: 0 -1728px;
}

.ipsFlag.ipsFlag-hr {
    background-position: 0 -1744px;
}

.ipsFlag.ipsFlag-ht {
    background-position: 0 -1760px;
}

.ipsFlag.ipsFlag-hu {
    background-position: 0 -1776px;
}

.ipsFlag.ipsFlag-id {
    background-position: 0 -1792px;
}

.ipsFlag.ipsFlag-mc {
    background-position: 0 -1792px;
}

.ipsFlag.ipsFlag-ie {
    background-position: 0 -1808px;
}

.ipsFlag.ipsFlag-il {
    background-position: 0 -1824px;
}

.ipsFlag.ipsFlag-im {
    background-position: 0 -1840px;
}

.ipsFlag.ipsFlag-in {
    background-position: 0 -1856px;
}

.ipsFlag.ipsFlag-iq {
    background-position: 0 -1872px;
}

.ipsFlag.ipsFlag-ir {
    background-position: 0 -1888px;
}

.ipsFlag.ipsFlag-is {
    background-position: 0 -1904px;
}

.ipsFlag.ipsFlag-it {
    background-position: 0 -1920px;
}

.ipsFlag.ipsFlag-je {
    background-position: 0 -1936px;
}

.ipsFlag.ipsFlag-jm {
    background-position: 0 -1952px;
}

.ipsFlag.ipsFlag-jo {
    background-position: 0 -1968px;
}

.ipsFlag.ipsFlag-jp {
    background-position: 0 -1984px;
}

.ipsFlag.ipsFlag-ke {
    background-position: 0 -2000px;
}

.ipsFlag.ipsFlag-kg {
    background-position: 0 -2016px;
}

.ipsFlag.ipsFlag-kh {
    background-position: 0 -2032px;
}

.ipsFlag.ipsFlag-ki {
    background-position: 0 -2048px;
}

.ipsFlag.ipsFlag-km {
    background-position: 0 -2064px;
}

.ipsFlag.ipsFlag-kn {
    background-position: 0 -2080px;
}

.ipsFlag.ipsFlag-kp {
    background-position: 0 -2096px;
}

.ipsFlag.ipsFlag-kr {
    background-position: 0 -2112px;
}

.ipsFlag.ipsFlag-kw {
    background-position: 0 -2128px;
}

.ipsFlag.ipsFlag-ky {
    background-position: 0 -2144px;
}

.ipsFlag.ipsFlag-kz {
    background-position: 0 -2160px;
}

.ipsFlag.ipsFlag-la {
    background-position: 0 -2176px;
}

.ipsFlag.ipsFlag-lb {
    background-position: 0 -2192px;
}

.ipsFlag.ipsFlag-lc {
    background-position: 0 -2208px;
}

.ipsFlag.ipsFlag-li {
    background-position: 0 -2224px;
}

.ipsFlag.ipsFlag-lk {
    background-position: 0 -2240px;
}

.ipsFlag.ipsFlag-lr {
    background-position: 0 -2256px;
}

.ipsFlag.ipsFlag-ls {
    background-position: 0 -2272px;
}

.ipsFlag.ipsFlag-lt {
    background-position: 0 -2288px;
}

.ipsFlag.ipsFlag-lu {
    background-position: 0 -2304px;
}

.ipsFlag.ipsFlag-lv {
    background-position: 0 -2320px;
}

.ipsFlag.ipsFlag-ly {
    background-position: 0 -2336px;
}

.ipsFlag.ipsFlag-ma {
    background-position: 0 -2352px;
}

.ipsFlag.ipsFlag-md {
    background-position: 0 -2368px;
}

.ipsFlag.ipsFlag-me {
    background-position: 0 -2384px;
}

.ipsFlag.ipsFlag-mg {
    background-position: 0 -2400px;
}

.ipsFlag.ipsFlag-mh {
    background-position: 0 -2416px;
}

.ipsFlag.ipsFlag-mk {
    background-position: 0 -2432px;
}

.ipsFlag.ipsFlag-ml {
    background-position: 0 -2448px;
}

.ipsFlag.ipsFlag-mm {
    background-position: 0 -2464px;
}

.ipsFlag.ipsFlag-mn {
    background-position: 0 -2480px;
}

.ipsFlag.ipsFlag-mo {
    background-position: 0 -2496px;
}

.ipsFlag.ipsFlag-mq {
    background-position: 0 -2512px;
}

.ipsFlag.ipsFlag-mr {
    background-position: 0 -2528px;
}

.ipsFlag.ipsFlag-ms {
    background-position: 0 -2544px;
}

.ipsFlag.ipsFlag-mt {
    background-position: 0 -2560px;
}

.ipsFlag.ipsFlag-mu {
    background-position: 0 -2576px;
}

.ipsFlag.ipsFlag-mv {
    background-position: 0 -2592px;
}

.ipsFlag.ipsFlag-mw {
    background-position: 0 -2608px;
}

.ipsFlag.ipsFlag-mx {
    background-position: 0 -2624px;
}

.ipsFlag.ipsFlag-my {
    background-position: 0 -2640px;
}

.ipsFlag.ipsFlag-mz {
    background-position: 0 -2656px;
}

.ipsFlag.ipsFlag-na {
    background-position: 0 -2672px;
}

.ipsFlag.ipsFlag-nc {
    background-position: 0 -2688px;
}

.ipsFlag.ipsFlag-ne {
    background-position: 0 -2704px;
}

.ipsFlag.ipsFlag-ng {
    background-position: 0 -2720px;
}

.ipsFlag.ipsFlag-ni {
    background-position: 0 -2736px;
}

.ipsFlag.ipsFlag-nl {
    background-position: 0 -2752px;
}

.ipsFlag.ipsFlag-bq {
    background-position: 0 -2752px;
}

.ipsFlag.ipsFlag-no {
    background-position: 0 -2768px;
}

.ipsFlag.ipsFlag-bv {
    background-position: 0 -2768px;
}

.ipsFlag.ipsFlag-nq {
    background-position: 0 -2768px;
}

.ipsFlag.ipsFlag-sj {
    background-position: 0 -2768px;
}

.ipsFlag.ipsFlag-np {
    background-position: 0 -2784px;
}

.ipsFlag.ipsFlag-nr {
    background-position: 0 -2800px;
}

.ipsFlag.ipsFlag-nz {
    background-position: 0 -2816px;
}

.ipsFlag.ipsFlag-om {
    background-position: 0 -2832px;
}

.ipsFlag.ipsFlag-pa {
    background-position: 0 -2848px;
}

.ipsFlag.ipsFlag-pe {
    background-position: 0 -2864px;
}

.ipsFlag.ipsFlag-pf {
    background-position: 0 -2880px;
}

.ipsFlag.ipsFlag-pg {
    background-position: 0 -2896px;
}

.ipsFlag.ipsFlag-ph {
    background-position: 0 -2912px;
}

.ipsFlag.ipsFlag-pk {
    background-position: 0 -2928px;
}

.ipsFlag.ipsFlag-pl {
    background-position: 0 -2944px;
}

.ipsFlag.ipsFlag-pr {
    background-position: 0 -2960px;
}

.ipsFlag.ipsFlag-ps {
    background-position: 0 -2976px;
}

.ipsFlag.ipsFlag-pt {
    background-position: 0 -2992px;
}

.ipsFlag.ipsFlag-pw {
    background-position: 0 -3008px;
}

.ipsFlag.ipsFlag-py {
    background-position: 0 -3024px;
}

.ipsFlag.ipsFlag-qa {
    background-position: 0 -3040px;
}

.ipsFlag.ipsFlag-re {
    background-position: 0 -3056px;
}

.ipsFlag.ipsFlag-ro {
    background-position: 0 -3072px;
}

.ipsFlag.ipsFlag-rs {
    background-position: 0 -3088px;
}

.ipsFlag.ipsFlag-ru {
    background-position: 0 -3104px;
}

.ipsFlag.ipsFlag-rw {
    background-position: 0 -3120px;
}

.ipsFlag.ipsFlag-sa {
    background-position: 0 -3136px;
}

.ipsFlag.ipsFlag-sb {
    background-position: 0 -3152px;
}

.ipsFlag.ipsFlag-sc {
    background-position: 0 -3168px;
}

.ipsFlag.ipsFlag-sd {
    background-position: 0 -3184px;
}

.ipsFlag.ipsFlag-se {
    background-position: 0 -3200px;
}

.ipsFlag.ipsFlag-sg {
    background-position: 0 -3216px;
}

.ipsFlag.ipsFlag-si {
    background-position: 0 -3232px;
}

.ipsFlag.ipsFlag-sk {
    background-position: 0 -3248px;
}

.ipsFlag.ipsFlag-sl {
    background-position: 0 -3264px;
}

.ipsFlag.ipsFlag-sm {
    background-position: 0 -3280px;
}

.ipsFlag.ipsFlag-sn {
    background-position: 0 -3296px;
}

.ipsFlag.ipsFlag-so {
    background-position: 0 -3312px;
}

.ipsFlag.ipsFlag-sr {
    background-position: 0 -3328px;
}

.ipsFlag.ipsFlag-st {
    background-position: 0 -3344px;
}

.ipsFlag.ipsFlag-sv {
    background-position: 0 -3360px;
}

.ipsFlag.ipsFlag-sy {
    background-position: 0 -3376px;
}

.ipsFlag.ipsFlag-sz {
    background-position: 0 -3392px;
}

.ipsFlag.ipsFlag-tc {
    background-position: 0 -3408px;
}

.ipsFlag.ipsFlag-td {
    background-position: 0 -3424px;
}

.ipsFlag.ipsFlag-tg {
    background-position: 0 -3440px;
}

.ipsFlag.ipsFlag-th {
    background-position: 0 -3456px;
}

.ipsFlag.ipsFlag-tj {
    background-position: 0 -3472px;
}

.ipsFlag.ipsFlag-tl {
    background-position: 0 -3488px;
}

.ipsFlag.ipsFlag-tm {
    background-position: 0 -3504px;
}

.ipsFlag.ipsFlag-tn {
    background-position: 0 -3520px;
}

.ipsFlag.ipsFlag-to {
    background-position: 0 -3536px;
}

.ipsFlag.ipsFlag-tr {
    background-position: 0 -3552px;
}

.ipsFlag.ipsFlag-tt {
    background-position: 0 -3568px;
}

.ipsFlag.ipsFlag-tv {
    background-position: 0 -3584px;
}

.ipsFlag.ipsFlag-tw {
    background-position: 0 -3600px;
}

.ipsFlag.ipsFlag-tz {
    background-position: 0 -3616px;
}

.ipsFlag.ipsFlag-ua {
    background-position: 0 -3632px;
}

.ipsFlag.ipsFlag-ug {
    background-position: 0 -3648px;
}

.ipsFlag.ipsFlag-us {
    background-position: 0 -3664px;
}

.ipsFlag.ipsFlag-uy {
    background-position: 0 -3680px;
}

.ipsFlag.ipsFlag-uz {
    background-position: 0 -3696px;
}

.ipsFlag.ipsFlag-va {
    background-position: 0 -3712px;
}

.ipsFlag.ipsFlag-vc {
    background-position: 0 -3728px;
}

.ipsFlag.ipsFlag-ve {
    background-position: 0 -3744px;
}

.ipsFlag.ipsFlag-vg {
    background-position: 0 -3760px;
}

.ipsFlag.ipsFlag-vi {
    background-position: 0 -3776px;
}

.ipsFlag.ipsFlag-vn {
    background-position: 0 -3792px;
}

.ipsFlag.ipsFlag-vu {
    background-position: 0 -3808px;
}

.ipsFlag.ipsFlag-ws {
    background-position: 0 -3824px;
}

.ipsFlag.ipsFlag-ye {
    background-position: 0 -3840px;
}

.ipsFlag.ipsFlag-za {
    background-position: 0 -3856px;
}

.ipsFlag.ipsFlag-zm {
    background-position: 0 -3872px;
}

.ipsFlag.ipsFlag-zw {
    background-position: 0 -3888px;
}

.ipsFlag.ipsFlag-sx {
    background-position: 0 -3904px;
}

.ipsFlag.ipsFlag-cw {
    background-position: 0 -3920px;
}

.ipsFlag.ipsFlag-ss {
    background-position: 0 -3936px;
}

@media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi) {
    .ipsFlag {
        background: url(https://typography.guru/xmodules/flags/flags32.png) no-repeat;
        background-size: 16px 3952px;
    }
}


