/**
 * Country flag sprite.
 *
 * Built from the 197 flag images that shipped as separate files in 1.x, which
 * are no longer in the module: views/img/flags.png plus this file replace them
 * entirely, so one request serves every flag on a page instead of one per flag.
 * This pair is now the source of truth - to add a flag, append a row to the
 * sprite and a rule here.
 *
 * The bare .mtst-flag class draws the world/globe row on purpose. An ISO code
 * with no rule of its own (a territory the 1.x flag set never covered, or junk
 * left in an old database row) matches only .mtst-flag, so whatever the base
 * rule points at is what gets drawn - and row 0 of the sprite is Andorra.
 * Pointing the default at the globe makes an unrecognised country read as
 * deliberate rather than as Andorra.
 *
 * @author    MEG Venture <info@megventure.com>
 * @copyright 2019-2026 MEG Venture
 * @license   Academic Free License 3.0 (AFL-3.0)
 */

.mtst-flag {
    display: inline-block;
    height: 20px;
    width: 30px;
    background-image: url(../img/flags.png);
    background-repeat: no-repeat;
    background-position: 0 -3820px;
    vertical-align: middle;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}

.mtst-flag--ad { width: 29px; background-position: 0 -0px; }
.mtst-flag--ae { width: 40px; background-position: 0 -20px; }
.mtst-flag--af { width: 30px; background-position: 0 -40px; }
.mtst-flag--ag { width: 30px; background-position: 0 -60px; }
.mtst-flag--al { width: 28px; background-position: 0 -80px; }
.mtst-flag--am { width: 40px; background-position: 0 -100px; }
.mtst-flag--ao { width: 30px; background-position: 0 -120px; }
.mtst-flag--ar { width: 31px; background-position: 0 -140px; }
.mtst-flag--at { width: 30px; background-position: 0 -160px; }
.mtst-flag--au { width: 40px; background-position: 0 -180px; }
.mtst-flag--az { width: 40px; background-position: 0 -200px; }
.mtst-flag--ba { width: 40px; background-position: 0 -220px; }
.mtst-flag--bb { width: 30px; background-position: 0 -240px; }
.mtst-flag--bd { width: 33px; background-position: 0 -260px; }
.mtst-flag--be { width: 23px; background-position: 0 -280px; }
.mtst-flag--bf { width: 30px; background-position: 0 -300px; }
.mtst-flag--bg { width: 33px; background-position: 0 -320px; }
.mtst-flag--bh { width: 33px; background-position: 0 -340px; }
.mtst-flag--bi { width: 33px; background-position: 0 -360px; }
.mtst-flag--bj { width: 30px; background-position: 0 -380px; }
.mtst-flag--bn { width: 40px; background-position: 0 -400px; }
.mtst-flag--bo { width: 29px; background-position: 0 -420px; }
.mtst-flag--br { width: 29px; background-position: 0 -440px; }
.mtst-flag--bs { width: 40px; background-position: 0 -460px; }
.mtst-flag--bt { width: 30px; background-position: 0 -480px; }
.mtst-flag--bw { width: 30px; background-position: 0 -500px; }
.mtst-flag--by { width: 40px; background-position: 0 -520px; }
.mtst-flag--bz { width: 30px; background-position: 0 -540px; }
.mtst-flag--ca { width: 40px; background-position: 0 -560px; }
.mtst-flag--cd { width: 30px; background-position: 0 -580px; }
.mtst-flag--cf { width: 30px; background-position: 0 -600px; }
.mtst-flag--cg { width: 30px; background-position: 0 -620px; }
.mtst-flag--ch { width: 20px; background-position: 0 -640px; }
.mtst-flag--ci { width: 30px; background-position: 0 -660px; }
.mtst-flag--cl { width: 30px; background-position: 0 -680px; }
.mtst-flag--cm { width: 30px; background-position: 0 -700px; }
.mtst-flag--cn { width: 30px; background-position: 0 -720px; }
.mtst-flag--co { width: 30px; background-position: 0 -740px; }
.mtst-flag--cr { width: 33px; background-position: 0 -760px; }
.mtst-flag--cu { width: 40px; background-position: 0 -780px; }
.mtst-flag--cv { width: 34px; background-position: 0 -800px; }
.mtst-flag--cy { width: 33px; background-position: 0 -820px; }
.mtst-flag--cz { width: 30px; background-position: 0 -840px; }
.mtst-flag--de { width: 33px; background-position: 0 -860px; }
.mtst-flag--dj { width: 30px; background-position: 0 -880px; }
.mtst-flag--dk { width: 26px; background-position: 0 -900px; }
.mtst-flag--dm { width: 40px; background-position: 0 -920px; }
.mtst-flag--do { width: 32px; background-position: 0 -940px; }
.mtst-flag--dz { width: 30px; background-position: 0 -960px; }
.mtst-flag--ec { width: 40px; background-position: 0 -980px; }
.mtst-flag--ee { width: 31px; background-position: 0 -1000px; }
.mtst-flag--eg { width: 30px; background-position: 0 -1020px; }
.mtst-flag--eh { width: 40px; background-position: 0 -1040px; }
.mtst-flag--er { width: 40px; background-position: 0 -1060px; }
.mtst-flag--es { width: 30px; background-position: 0 -1080px; }
.mtst-flag--et { width: 40px; background-position: 0 -1100px; }
.mtst-flag--fi { width: 33px; background-position: 0 -1120px; }
.mtst-flag--fj { width: 40px; background-position: 0 -1140px; }
.mtst-flag--fm { width: 38px; background-position: 0 -1160px; }
.mtst-flag--fr { width: 30px; background-position: 0 -1180px; }
.mtst-flag--ga { width: 27px; background-position: 0 -1200px; }
.mtst-flag--gb { width: 40px; background-position: 0 -1220px; }
.mtst-flag--gd { width: 33px; background-position: 0 -1240px; }
.mtst-flag--ge { width: 30px; background-position: 0 -1260px; }
.mtst-flag--gh { width: 30px; background-position: 0 -1280px; }
.mtst-flag--gm { width: 30px; background-position: 0 -1300px; }
.mtst-flag--gn { width: 30px; background-position: 0 -1320px; }
.mtst-flag--gq { width: 30px; background-position: 0 -1340px; }
.mtst-flag--gr { width: 30px; background-position: 0 -1360px; }
.mtst-flag--gt { width: 32px; background-position: 0 -1380px; }
.mtst-flag--gw { width: 40px; background-position: 0 -1400px; }
.mtst-flag--gy { width: 33px; background-position: 0 -1420px; }
.mtst-flag--hn { width: 40px; background-position: 0 -1440px; }
.mtst-flag--hr { width: 40px; background-position: 0 -1460px; }
.mtst-flag--ht { width: 33px; background-position: 0 -1480px; }
.mtst-flag--hu { width: 40px; background-position: 0 -1500px; }
.mtst-flag--id { width: 30px; background-position: 0 -1520px; }
.mtst-flag--ie { width: 40px; background-position: 0 -1540px; }
.mtst-flag--il { width: 28px; background-position: 0 -1560px; }
.mtst-flag--in { width: 30px; background-position: 0 -1580px; }
.mtst-flag--iq { width: 30px; background-position: 0 -1600px; }
.mtst-flag--ir { width: 35px; background-position: 0 -1620px; }
.mtst-flag--is { width: 28px; background-position: 0 -1640px; }
.mtst-flag--it { width: 30px; background-position: 0 -1660px; }
.mtst-flag--jm { width: 40px; background-position: 0 -1680px; }
.mtst-flag--jo { width: 40px; background-position: 0 -1700px; }
.mtst-flag--jp { width: 30px; background-position: 0 -1720px; }
.mtst-flag--ke { width: 30px; background-position: 0 -1740px; }
.mtst-flag--kg { width: 33px; background-position: 0 -1760px; }
.mtst-flag--kh { width: 30px; background-position: 0 -1780px; }
.mtst-flag--ki { width: 40px; background-position: 0 -1800px; }
.mtst-flag--km { width: 33px; background-position: 0 -1820px; }
.mtst-flag--kn { width: 30px; background-position: 0 -1840px; }
.mtst-flag--kp { width: 40px; background-position: 0 -1860px; }
.mtst-flag--kr { width: 30px; background-position: 0 -1880px; }
.mtst-flag--ks { width: 30px; background-position: 0 -1900px; }
.mtst-flag--kw { width: 40px; background-position: 0 -1920px; }
.mtst-flag--kz { width: 40px; background-position: 0 -1940px; }
.mtst-flag--la { width: 30px; background-position: 0 -1960px; }
.mtst-flag--lb { width: 30px; background-position: 0 -1980px; }
.mtst-flag--lc { width: 40px; background-position: 0 -2000px; }
.mtst-flag--li { width: 33px; background-position: 0 -2020px; }
.mtst-flag--lk { width: 40px; background-position: 0 -2040px; }
.mtst-flag--lr { width: 38px; background-position: 0 -2060px; }
.mtst-flag--ls { width: 30px; background-position: 0 -2080px; }
.mtst-flag--lt { width: 33px; background-position: 0 -2100px; }
.mtst-flag--lu { width: 33px; background-position: 0 -2120px; }
.mtst-flag--lv { width: 40px; background-position: 0 -2140px; }
.mtst-flag--ly { width: 40px; background-position: 0 -2160px; }
.mtst-flag--ma { width: 30px; background-position: 0 -2180px; }
.mtst-flag--mc { width: 25px; background-position: 0 -2200px; }
.mtst-flag--md { width: 40px; background-position: 0 -2220px; }
.mtst-flag--me { width: 40px; background-position: 0 -2240px; }
.mtst-flag--mg { width: 30px; background-position: 0 -2260px; }
.mtst-flag--mh { width: 38px; background-position: 0 -2280px; }
.mtst-flag--mk { width: 40px; background-position: 0 -2300px; }
.mtst-flag--ml { width: 30px; background-position: 0 -2320px; }
.mtst-flag--mm { width: 36px; background-position: 0 -2340px; }
.mtst-flag--mn { width: 40px; background-position: 0 -2360px; }
.mtst-flag--mr { width: 30px; background-position: 0 -2380px; }
.mtst-flag--mt { width: 30px; background-position: 0 -2400px; }
.mtst-flag--mu { width: 30px; background-position: 0 -2420px; }
.mtst-flag--mv { width: 30px; background-position: 0 -2440px; }
.mtst-flag--mw { width: 30px; background-position: 0 -2460px; }
.mtst-flag--mx { width: 35px; background-position: 0 -2480px; }
.mtst-flag--my { width: 40px; background-position: 0 -2500px; }
.mtst-flag--mz { width: 30px; background-position: 0 -2520px; }
.mtst-flag--na { width: 30px; background-position: 0 -2540px; }
.mtst-flag--ne { width: 23px; background-position: 0 -2560px; }
.mtst-flag--ng { width: 40px; background-position: 0 -2580px; }
.mtst-flag--ni { width: 33px; background-position: 0 -2600px; }
.mtst-flag--nl { width: 30px; background-position: 0 -2620px; }
.mtst-flag--no { width: 28px; background-position: 0 -2640px; }
.mtst-flag--np { width: 16px; background-position: 0 -2660px; }
.mtst-flag--nr { width: 40px; background-position: 0 -2680px; }
.mtst-flag--nz { width: 40px; background-position: 0 -2700px; }
.mtst-flag--om { width: 40px; background-position: 0 -2720px; }
.mtst-flag--pa { width: 30px; background-position: 0 -2740px; }
.mtst-flag--pe { width: 30px; background-position: 0 -2760px; }
.mtst-flag--pg { width: 27px; background-position: 0 -2780px; }
.mtst-flag--ph { width: 40px; background-position: 0 -2800px; }
.mtst-flag--pk { width: 30px; background-position: 0 -2820px; }
.mtst-flag--pl { width: 32px; background-position: 0 -2840px; }
.mtst-flag--pt { width: 30px; background-position: 0 -2860px; }
.mtst-flag--pw { width: 32px; background-position: 0 -2880px; }
.mtst-flag--py { width: 33px; background-position: 0 -2900px; }
.mtst-flag--qa { width: 51px; background-position: 0 -2920px; }
.mtst-flag--ro { width: 30px; background-position: 0 -2940px; }
.mtst-flag--rs { width: 30px; background-position: 0 -2960px; }
.mtst-flag--ru { width: 30px; background-position: 0 -2980px; }
.mtst-flag--rw { width: 30px; background-position: 0 -3000px; }
.mtst-flag--sa { width: 30px; background-position: 0 -3020px; }
.mtst-flag--sb { width: 40px; background-position: 0 -3040px; }
.mtst-flag--sc { width: 40px; background-position: 0 -3060px; }
.mtst-flag--sd { width: 40px; background-position: 0 -3080px; }
.mtst-flag--se { width: 32px; background-position: 0 -3100px; }
.mtst-flag--sg { width: 30px; background-position: 0 -3120px; }
.mtst-flag--si { width: 40px; background-position: 0 -3140px; }
.mtst-flag--sk { width: 30px; background-position: 0 -3160px; }
.mtst-flag--sl { width: 30px; background-position: 0 -3180px; }
.mtst-flag--sm { width: 27px; background-position: 0 -3200px; }
.mtst-flag--sn { width: 30px; background-position: 0 -3220px; }
.mtst-flag--so { width: 30px; background-position: 0 -3240px; }
.mtst-flag--sr { width: 30px; background-position: 0 -3260px; }
.mtst-flag--st { width: 40px; background-position: 0 -3280px; }
.mtst-flag--sv { width: 35px; background-position: 0 -3300px; }
.mtst-flag--sy { width: 30px; background-position: 0 -3320px; }
.mtst-flag--sz { width: 30px; background-position: 0 -3340px; }
.mtst-flag--td { width: 30px; background-position: 0 -3360px; }
.mtst-flag--tg { width: 32px; background-position: 0 -3380px; }
.mtst-flag--th { width: 30px; background-position: 0 -3400px; }
.mtst-flag--tj { width: 40px; background-position: 0 -3420px; }
.mtst-flag--tl { width: 40px; background-position: 0 -3440px; }
.mtst-flag--tm { width: 30px; background-position: 0 -3460px; }
.mtst-flag--tn { width: 30px; background-position: 0 -3480px; }
.mtst-flag--to { width: 40px; background-position: 0 -3500px; }
.mtst-flag--tr { width: 30px; background-position: 0 -3520px; }
.mtst-flag--tt { width: 33px; background-position: 0 -3540px; }
.mtst-flag--tv { width: 40px; background-position: 0 -3560px; }
.mtst-flag--tw { width: 30px; background-position: 0 -3580px; }
.mtst-flag--tz { width: 30px; background-position: 0 -3600px; }
.mtst-flag--ua { width: 30px; background-position: 0 -3620px; }
.mtst-flag--ug { width: 30px; background-position: 0 -3640px; }
.mtst-flag--us { width: 38px; background-position: 0 -3660px; }
.mtst-flag--uy { width: 30px; background-position: 0 -3680px; }
.mtst-flag--uz { width: 40px; background-position: 0 -3700px; }
.mtst-flag--va { width: 20px; background-position: 0 -3720px; }
.mtst-flag--vc { width: 30px; background-position: 0 -3740px; }
.mtst-flag--ve { width: 30px; background-position: 0 -3760px; }
.mtst-flag--vn { width: 30px; background-position: 0 -3780px; }
.mtst-flag--vu { width: 33px; background-position: 0 -3800px; }
.mtst-flag--world { width: 30px; background-position: 0 -3820px; }
.mtst-flag--ws { width: 40px; background-position: 0 -3840px; }
.mtst-flag--ye { width: 30px; background-position: 0 -3860px; }
.mtst-flag--za { width: 30px; background-position: 0 -3880px; }
.mtst-flag--zm { width: 30px; background-position: 0 -3900px; }
.mtst-flag--zw { width: 40px; background-position: 0 -3920px; }
