.flag {
  background-image: url(../img/flags.png);
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
}

.flag-AD {
  background-position: 0 0;
}

.flag-AE {
  background-position: -24px 0;
}

.flag-AF {
  background-position: -48px 0;
}

.flag-AG {
  background-position: -72px 0;
}

.flag-AI {
  background-position: -96px 0;
}

.flag-AL {
  background-position: -120px 0;
}

.flag-AM {
  background-position: -144px 0;
}

.flag-AN {
  background-position: -168px 0;
}

.flag-AO {
  background-position: -192px 0;
}

.flag-AQ {
  background-position: -216px 0;
}

.flag-AR {
  background-position: -240px 0;
}

.flag-AS {
  background-position: -264px 0;
}

.flag-AT {
  background-position: -288px 0;
}

.flag-AU {
  background-position: -312px 0;
}

.flag-AW {
  background-position: -336px 0;
}

.flag-AX {
  background-position: 0 -24px;
}

.flag-AZ {
  background-position: -24px -24px;
}

.flag-BA {
  background-position: -48px -24px;
}

.flag-BB {
  background-position: -72px -24px;
}

.flag-BD {
  background-position: -96px -24px;
}

.flag-BE {
  background-position: -120px -24px;
}

.flag-BF {
  background-position: -144px -24px;
}

.flag-BG {
  background-position: -168px -24px;
}

.flag-BH {
  background-position: -192px -24px;
}

.flag-BI {
  background-position: -216px -24px;
}

.flag-BJ {
  background-position: -240px -24px;
}

.flag-BL {
  background-position: -264px -24px;
}

.flag-BM {
  background-position: -288px -24px;
}

.flag-BN {
  background-position: -312px -24px;
}

.flag-BO {
  background-position: -336px -24px;
}

.flag-BR {
  background-position: 0 -48px;
}

.flag-BS {
  background-position: -24px -48px;
}

.flag-BT {
  background-position: -48px -48px;
}

.flag-BW {
  background-position: -72px -48px;
}

.flag-BY {
  background-position: -96px -48px;
}

.flag-BZ {
  background-position: -120px -48px;
}

.flag-CA {
  background-position: -144px -48px;
}

.flag-CC {
  background-position: -168px -48px;
}

.flag-CD {
  background-position: -192px -48px;
}

.flag-CF {
  background-position: -216px -48px;
}

.flag-CG {
  background-position: -240px -48px;
}

.flag-CH {
  background-position: -264px -48px;
}

.flag-CI {
  background-position: -288px -48px;
}

.flag-CK {
  background-position: -312px -48px;
}

.flag-CL {
  background-position: -336px -48px;
}

.flag-CM {
  background-position: 0 -72px;
}

.flag-CN {
  background-position: -24px -72px;
}

.flag-CO {
  background-position: -48px -72px;
}

.flag-CR {
  background-position: -72px -72px;
}

.flag-CU {
  background-position: -96px -72px;
}

.flag-CV {
  background-position: -120px -72px;
}

.flag-CW {
  background-position: -144px -72px;
}

.flag-CX {
  background-position: -168px -72px;
}

.flag-CY {
  background-position: -192px -72px;
}

.flag-CZ {
  background-position: -216px -72px;
}

.flag-DE {
  background-position: -240px -72px;
}

.flag-DJ {
  background-position: -264px -72px;
}

.flag-DK {
  background-position: -288px -72px;
}

.flag-DM {
  background-position: -312px -72px;
}

.flag-DO {
  background-position: -336px -72px;
}

.flag-DZ {
  background-position: 0 -96px;
}

.flag-EC {
  background-position: -24px -96px;
}

.flag-EE {
  background-position: -48px -96px;
}

.flag-EG {
  background-position: -72px -96px;
}

.flag-EH {
  background-position: -96px -96px;
}

.flag-ER {
  background-position: -120px -96px;
}

.flag-ES {
  background-position: -144px -96px;
}

.flag-ET {
  background-position: -168px -96px;
}

.flag-EU {
  background-position: -192px -96px;
}

.flag-FI {
  background-position: -216px -96px;
}

.flag-FJ {
  background-position: -240px -96px;
}

.flag-FK {
  background-position: -264px -96px;
}

.flag-FM {
  background-position: -288px -96px;
}

.flag-FO {
  background-position: -312px -96px;
}

.flag-FR {
  background-position: -336px -96px;
}

.flag-GA {
  background-position: 0 -120px;
}

.flag-GB {
  background-position: -24px -120px;
}

.flag-GD {
  background-position: -48px -120px;
}

.flag-GE {
  background-position: -72px -120px;
}

.flag-GG {
  background-position: -96px -120px;
}

.flag-GH {
  background-position: -120px -120px;
}

.flag-GI {
  background-position: -144px -120px;
}

.flag-GL {
  background-position: -168px -120px;
}

.flag-GM {
  background-position: -192px -120px;
}

.flag-GN {
  background-position: -216px -120px;
}

.flag-GQ {
  background-position: -240px -120px;
}

.flag-GR {
  background-position: -264px -120px;
}

.flag-GS {
  background-position: -288px -120px;
}

.flag-GT {
  background-position: -312px -120px;
}

.flag-GU {
  background-position: -336px -120px;
}

.flag-GW {
  background-position: 0 -144px;
}

.flag-GY {
  background-position: -24px -144px;
}

.flag-HK {
  background-position: -48px -144px;
}

.flag-HN {
  background-position: -72px -144px;
}

.flag-HR {
  background-position: -96px -144px;
}

.flag-HT {
  background-position: -120px -144px;
}

.flag-HU {
  background-position: -144px -144px;
}

.flag-IC {
  background-position: -168px -144px;
}

.flag-ID {
  background-position: -192px -144px;
}

.flag-IE {
  background-position: -216px -144px;
}

.flag-IL {
  background-position: -240px -144px;
}

.flag-IM {
  background-position: -264px -144px;
}

.flag-IN {
  background-position: -288px -144px;
}

.flag-IQ {
  background-position: -312px -144px;
}

.flag-IR {
  background-position: -336px -144px;
}

.flag-IS {
  background-position: 0 -168px;
}

.flag-IT {
  background-position: -24px -168px;
}

.flag-JE {
  background-position: -48px -168px;
}

.flag-JM {
  background-position: -72px -168px;
}

.flag-JO {
  background-position: -96px -168px;
}

.flag-JP {
  background-position: -120px -168px;
}

.flag-KE {
  background-position: -144px -168px;
}

.flag-KG {
  background-position: -168px -168px;
}

.flag-KH {
  background-position: -192px -168px;
}

.flag-KI {
  background-position: -216px -168px;
}

.flag-KM {
  background-position: -240px -168px;
}

.flag-KN {
  background-position: -264px -168px;
}

.flag-KP {
  background-position: -288px -168px;
}

.flag-KR {
  background-position: -312px -168px;
}

.flag-KW {
  background-position: -336px -168px;
}

.flag-KY {
  background-position: 0 -192px;
}

.flag-KZ {
  background-position: -24px -192px;
}

.flag-LA {
  background-position: -48px -192px;
}

.flag-LB {
  background-position: -72px -192px;
}

.flag-LC {
  background-position: -96px -192px;
}

.flag-LI {
  background-position: -120px -192px;
}

.flag-LK {
  background-position: -144px -192px;
}

.flag-LR {
  background-position: -168px -192px;
}

.flag-LS {
  background-position: -192px -192px;
}

.flag-LT {
  background-position: -216px -192px;
}

.flag-LU {
  background-position: -240px -192px;
}

.flag-LV {
  background-position: -264px -192px;
}

.flag-LY {
  background-position: -288px -192px;
}

.flag-MA {
  background-position: -312px -192px;
}

.flag-MC {
  background-position: -336px -192px;
}

.flag-MD {
  background-position: 0 -216px;
}

.flag-ME {
  background-position: -24px -216px;
}

.flag-MF {
  background-position: -48px -216px;
}

.flag-MG {
  background-position: -72px -216px;
}

.flag-MH {
  background-position: -96px -216px;
}

.flag-MK {
  background-position: -120px -216px;
}

.flag-ML {
  background-position: -144px -216px;
}

.flag-MM {
  background-position: -168px -216px;
}

.flag-MN {
  background-position: -192px -216px;
}

.flag-MO {
  background-position: -216px -216px;
}

.flag-MP {
  background-position: -240px -216px;
}

.flag-MQ {
  background-position: -264px -216px;
}

.flag-MR {
  background-position: -288px -216px;
}

.flag-MS {
  background-position: -312px -216px;
}

.flag-MT {
  background-position: -336px -216px;
}

.flag-MU {
  background-position: 0 -240px;
}

.flag-MV {
  background-position: -24px -240px;
}

.flag-MW {
  background-position: -48px -240px;
}

.flag-MX {
  background-position: -72px -240px;
}

.flag-MY {
  background-position: -96px -240px;
}

.flag-MZ {
  background-position: -120px -240px;
}

.flag-NA {
  background-position: -144px -240px;
}

.flag-NC {
  background-position: -168px -240px;
}

.flag-NE {
  background-position: -192px -240px;
}

.flag-NF {
  background-position: -216px -240px;
}

.flag-NG {
  background-position: -240px -240px;
}

.flag-NI {
  background-position: -264px -240px;
}

.flag-NL {
  background-position: -288px -240px;
}

.flag-NO {
  background-position: -312px -240px;
}

.flag-NP {
  background-position: -336px -240px;
}

.flag-NR {
  background-position: 0 -264px;
}

.flag-NU {
  background-position: -24px -264px;
}

.flag-NZ {
  background-position: -48px -264px;
}

.flag-OM {
  background-position: -72px -264px;
}

.flag-PA {
  background-position: -96px -264px;
}

.flag-PE {
  background-position: -120px -264px;
}

.flag-PF {
  background-position: -144px -264px;
}

.flag-PG {
  background-position: -168px -264px;
}

.flag-PH {
  background-position: -192px -264px;
}

.flag-PK {
  background-position: -216px -264px;
}

.flag-PL {
  background-position: -240px -264px;
}

.flag-PN {
  background-position: -264px -264px;
}

.flag-PR {
  background-position: -288px -264px;
}

.flag-PS {
  background-position: -312px -264px;
}

.flag-PT {
  background-position: -336px -264px;
}

.flag-PW {
  background-position: 0 -288px;
}

.flag-PY {
  background-position: -24px -288px;
}

.flag-QA {
  background-position: -48px -288px;
}

.flag-RO {
  background-position: -72px -288px;
}

.flag-RS {
  background-position: -96px -288px;
}

.flag-RU {
  background-position: -120px -288px;
}

.flag-RW {
  background-position: -144px -288px;
}

.flag-SA {
  background-position: -168px -288px;
}

.flag-SB {
  background-position: -192px -288px;
}

.flag-SC {
  background-position: -216px -288px;
}

.flag-SD {
  background-position: -240px -288px;
}

.flag-SE {
  background-position: -264px -288px;
}

.flag-SG {
  background-position: -288px -288px;
}

.flag-SH {
  background-position: -312px -288px;
}

.flag-SI {
  background-position: -336px -288px;
}

.flag-SK {
  background-position: 0 -312px;
}

.flag-SL {
  background-position: -24px -312px;
}

.flag-SM {
  background-position: -48px -312px;
}

.flag-SN {
  background-position: -72px -312px;
}

.flag-SO {
  background-position: -96px -312px;
}

.flag-SR {
  background-position: -120px -312px;
}

.flag-SS {
  background-position: -144px -312px;
}

.flag-ST {
  background-position: -168px -312px;
}

.flag-SV {
  background-position: -192px -312px;
}

.flag-SY {
  background-position: -216px -312px;
}

.flag-SZ {
  background-position: -240px -312px;
}

.flag-TC {
  background-position: -264px -312px;
}

.flag-TD {
  background-position: -288px -312px;
}

.flag-TF {
  background-position: -312px -312px;
}

.flag-TG {
  background-position: -336px -312px;
}

.flag-TH {
  background-position: 0 -336px;
}

.flag-TJ {
  background-position: -24px -336px;
}

.flag-TK {
  background-position: -48px -336px;
}

.flag-TL {
  background-position: -72px -336px;
}

.flag-TM {
  background-position: -96px -336px;
}

.flag-TN {
  background-position: -120px -336px;
}

.flag-TO {
  background-position: -144px -336px;
}

.flag-TR {
  background-position: -168px -336px;
}

.flag-TT {
  background-position: -192px -336px;
}

.flag-TV {
  background-position: -216px -336px;
}

.flag-TW {
  background-position: -240px -336px;
}

.flag-TZ {
  background-position: -264px -336px;
}

.flag-UA {
  background-position: -288px -336px;
}

.flag-UG {
  background-position: -312px -336px;
}

.flag-US {
  background-position: -336px -336px;
}

.flag-UY {
  background-position: -360px 0;
}

.flag-UZ {
  background-position: -360px -24px;
}

.flag-VA {
  background-position: -360px -48px;
}

.flag-VC {
  background-position: -360px -72px;
}

.flag-VE {
  background-position: -360px -96px;
}

.flag-VG {
  background-position: -360px -120px;
}

.flag-VI {
  background-position: -360px -144px;
}

.flag-VN {
  background-position: -360px -168px;
}

.flag-VU {
  background-position: -360px -192px;
}

.flag-WF {
  background-position: -360px -216px;
}

.flag-WS {
  background-position: -360px -240px;
}

.flag-YE {
  background-position: -360px -264px;
}

.flag-YT {
  background-position: -360px -288px;
}

.flag-ZA {
  background-position: -360px -312px;
}

.flag-ZM {
  background-position: -360px -336px;
}

.flag-ZW {
  background-position: 0 -360px;
}
