.flag {
	display: inline-block;
	width: 16px;
	height: 11px;
	background: url(../img/flags.png);
}
.country-select {
	position: relative;
	display: block;
}
.country-select * {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.country-select .hide {
	display: none;
}
.country-select .v-hide {
	visibility: hidden;
}
.country-select input {
	position: relative;
	z-index: 0;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-left: 44px;
}
.country-select .flag-dropdown {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.country-select .flag-dropdown:hover {
	cursor: pointer;
}
.country-select .flag-dropdown:hover .selected-flag {
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.05);
}
.country-select input[disabled] + .flag-dropdown:hover {
	cursor: default;
}
.country-select input[disabled] + .flag-dropdown:hover .selected-flag {
	background-color: transparent;
}
.country-select .selected-flag {
	z-index: 1;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0 0 0 8px;
}
.country-select .selected-flag .flag {
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -5px;
}
.country-select .selected-flag .arrow {
	position: relative;
	top: 50%;
	margin-top: -2px;
	left: 20px;
	width: 0;
	height: 0;
	border-left: 3px solid transparent;
	border-right: 3px solid transparent;
	border-top: 4px solid #555;
}
.country-select .selected-flag .arrow.up {
	border-top: none;
	border-bottom: 4px solid #555;
}
.country-select .country-list {
	list-style: none;
	position: absolute;
	left: 0;
	right: 0;
	z-index: 2;
	padding: 0;
	margin: 0;
	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
	background-color: #fff;
	border: 1px solid #ccc;
	min-width: 220px;
	max-height: 200px;
	overflow-y: scroll;
	text-align: left;
}
.country-select .country-list .flag {
	display: inline-block;
}
.country-select .country-list .divider {
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: 1px solid #ccc;
}
.country-select .country-list .country {
	line-height: 11px;
	padding: 7px 10px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.country-select .country-list .country .dial-code {
	color: #999;
}
.country-select .country-list .country.highlight {
	background-color: #08c;
	color: #fff;
}
.country-select .country-list .country-name,
.country-select .country-list .flag {
	margin-right: 6px;
}
.country-select.inside .flag-dropdown {
	padding: 1px;
}
.country-select.inside input[type='tel'],
.country-select.inside input[type='text'] {
	padding-left: 44px;
	margin-left: 0;
}
.country-select.outside input[type='tel'],
.country-select.outside input[type='text'] {
	border: none;
	margin-left: 38px;
}
.flag.zw {
	background-position: 0 0;
}
.flag.zm {
	background-position: -16px 0;
}
.flag.za {
	background-position: 0 -11px;
}
.flag.yt {
	background-position: -16px -11px;
}
.flag.ye {
	background-position: -32px 0;
}
.flag.ws {
	background-position: -32px -11px;
}
.flag.wf {
	background-position: 0 -22px;
}
.flag.vu {
	background-position: -32px -22px;
}
.flag.vn {
	background-position: 0 -33px;
}
.flag.vi {
	background-position: -16px -33px;
}
.flag.vg {
	background-position: -32px -33px;
}
.flag.ve {
	background-position: -48px 0;
}
.flag.vc {
	background-position: -48px -11px;
}
.flag.va {
	background-position: -48px -22px;
}
.flag.uz {
	background-position: -48px -33px;
}
.flag.uy {
	background-position: 0 -44px;
}
.flag.um,
.flag.us {
	background-position: -16px -44px;
}
.flag.ug {
	background-position: -32px -44px;
}
.flag.ua {
	background-position: -48px -44px;
}
.flag.tz {
	background-position: -64px 0;
}
.flag.tw {
	background-position: -64px -11px;
}
.flag.tv {
	background-position: -64px -22px;
}
.flag.tt {
	background-position: -64px -33px;
}
.flag.tr {
	background-position: -64px -44px;
}
.flag.to {
	background-position: 0 -55px;
}
.flag.tn {
	background-position: -16px -55px;
}
.flag.tm {
	background-position: -32px -55px;
}
.flag.tl {
	background-position: -48px -55px;
}
.flag.tk {
	background-position: -64px -55px;
}
.flag.tj {
	background-position: 0 -66px;
}
.flag.th {
	background-position: -16px -66px;
}
.flag.tg {
	background-position: -32px -66px;
}
.flag.tf {
	background-position: -48px -66px;
}
.flag.td {
	background-position: -64px -66px;
}
.flag.tc {
	background-position: -80px 0;
}
.flag.sz {
	background-position: -80px -11px;
}
.flag.sy {
	background-position: -80px -22px;
}
.flag.sx {
	background-position: -80px -33px;
}
.flag.sv {
	background-position: -80px -44px;
}
.flag.st {
	background-position: -80px -55px;
}
.flag.ss {
	background-position: -80px -66px;
}
.flag.sr {
	background-position: 0 -77px;
}
.flag.so {
	background-position: -16px -77px;
}
.flag.sn {
	background-position: -32px -77px;
}
.flag.sm {
	background-position: -48px -77px;
}
.flag.sl {
	background-position: -64px -77px;
}
.flag.sk {
	background-position: -80px -77px;
}
.flag.si {
	background-position: -96px 0;
}
.flag.sh {
	background-position: -96px -11px;
}
.flag.sg {
	background-position: -96px -22px;
}
.flag.se {
	background-position: -96px -33px;
}
.flag.sd {
	background-position: -96px -44px;
}
.flag.sc {
	background-position: -96px -66px;
}
.flag.sb {
	background-position: -96px -77px;
}
.flag.sa {
	background-position: 0 -88px;
}
.flag.rw {
	background-position: -16px -88px;
}
.flag.ru {
	background-position: -32px -88px;
}
.flag.rs {
	background-position: -48px -88px;
}
.flag.ro {
	background-position: -64px -88px;
}
.flag.qa {
	background-position: -80px -88px;
}
.flag.py {
	background-position: -96px -88px;
}
.flag.pw {
	background-position: 0 -99px;
}
.flag.pt {
	background-position: -16px -99px;
}
.flag.ps {
	background-position: -32px -99px;
}
.flag.pr {
	background-position: -48px -99px;
}
.flag.pn {
	background-position: -64px -99px;
}
.flag.pm {
	background-position: -80px -99px;
}
.flag.pl {
	background-position: -96px -99px;
}
.flag.pk {
	background-position: -112px 0;
}
.flag.ph {
	background-position: -112px -11px;
}
.flag.pg {
	background-position: -112px -22px;
}
.flag.pf {
	background-position: -112px -33px;
}
.flag.pe {
	background-position: -112px -44px;
}
.flag.pa {
	background-position: -112px -55px;
}
.flag.om {
	background-position: -112px -66px;
}
.flag.nz {
	background-position: -112px -77px;
}
.flag.nu {
	background-position: -112px -88px;
}
.flag.nr {
	background-position: -112px -99px;
}
.flag.bv,
.flag.no,
.flag.sj {
	background-position: 0 -110px;
}
.flag.nl {
	background-position: -16px -110px;
}
.flag.ni {
	background-position: -32px -110px;
}
.flag.ng {
	background-position: -48px -110px;
}
.flag.nf {
	background-position: -64px -110px;
}
.flag.ne {
	background-position: -80px -110px;
}
.flag.nc {
	background-position: -96px -110px;
}
.flag.na {
	background-position: -112px -110px;
}
.flag.mz {
	background-position: -128px 0;
}
.flag.my {
	background-position: -128px -11px;
}
.flag.mx {
	background-position: -128px -22px;
}
.flag.mw {
	background-position: -128px -33px;
}
.flag.mv {
	background-position: -128px -44px;
}
.flag.mu {
	background-position: -128px -55px;
}
.flag.mt {
	background-position: -128px -66px;
}
.flag.ms {
	background-position: -128px -77px;
}
.flag.mr {
	background-position: -128px -88px;
}
.flag.mq {
	background-position: -128px -99px;
}
.flag.mp {
	background-position: -128px -110px;
}
.flag.mo {
	background-position: 0 -121px;
}
.flag.mn {
	background-position: -16px -121px;
}
.flag.mm {
	background-position: -32px -121px;
}
.flag.ml {
	background-position: -48px -121px;
}
.flag.mk {
	background-position: -64px -121px;
}
.flag.mh {
	background-position: -80px -121px;
}
.flag.mg {
	background-position: -96px -121px;
}
.flag.me {
	background-position: 0 -132px;
	height: 12px;
}
.flag.md {
	background-position: -112px -121px;
}
.flag.mc {
	background-position: -128px -121px;
}
.flag.ma {
	background-position: -16px -132px;
}
.flag.ly {
	background-position: -32px -132px;
}
.flag.lv {
	background-position: -48px -132px;
}
.flag.lu {
	background-position: -64px -132px;
}
.flag.lt {
	background-position: -80px -132px;
}
.flag.ls {
	background-position: -96px -132px;
}
.flag.lr {
	background-position: -112px -132px;
}
.flag.lk {
	background-position: -128px -132px;
}
.flag.li {
	background-position: -144px 0;
}
.flag.lc {
	background-position: -144px -11px;
}
.flag.lb {
	background-position: -144px -22px;
}
.flag.la {
	background-position: -144px -33px;
}
.flag.kz {
	background-position: -144px -44px;
}
.flag.ky {
	background-position: -144px -55px;
}
.flag.kw {
	background-position: -144px -66px;
}
.flag.kr {
	background-position: -144px -77px;
}
.flag.kp {
	background-position: -144px -88px;
}
.flag.kn {
	background-position: -144px -99px;
}
.flag.km {
	background-position: -144px -110px;
}
.flag.ki {
	background-position: -144px -121px;
}
.flag.kh {
	background-position: -144px -132px;
}
.flag.kg {
	background-position: 0 -144px;
}
.flag.ke {
	background-position: -16px -144px;
}
.flag.jp {
	background-position: -32px -144px;
}
.flag.jo {
	background-position: -48px -144px;
}
.flag.jm {
	background-position: -64px -144px;
}
.flag.je {
	background-position: -80px -144px;
}
.flag.it {
	background-position: -96px -144px;
}
.flag.is {
	background-position: -112px -144px;
}
.flag.ir {
	background-position: -128px -144px;
}
.flag.iq {
	background-position: -144px -144px;
}
.flag.io {
	background-position: -160px 0;
}
.flag.in {
	background-position: -160px -11px;
}
.flag.im {
	background-position: -160px -22px;
	height: 9px;
}
.flag.il {
	background-position: -160px -31px;
}
.flag.ie {
	background-position: -160px -42px;
}
.flag.id {
	background-position: -160px -53px;
}
.flag.hu {
	background-position: -160px -64px;
}
.flag.ht {
	background-position: -160px -75px;
}
.flag.hr {
	background-position: -160px -86px;
}
.flag.hn {
	background-position: -160px -97px;
}
.flag.hk {
	background-position: -160px -108px;
}
.flag.gy {
	background-position: -160px -119px;
}
.flag.gw {
	background-position: -160px -130px;
}
.flag.gu {
	background-position: -160px -141px;
}
.flag.gt {
	background-position: 0 -155px;
}
.flag.gs {
	background-position: -16px -155px;
}
.flag.gr {
	background-position: -32px -155px;
}
.flag.gq {
	background-position: -48px -155px;
}
.flag.gp {
	background-position: -64px -155px;
}
.flag.gn {
	background-position: -80px -155px;
}
.flag.gm {
	background-position: -96px -155px;
}
.flag.gl {
	background-position: -112px -155px;
}
.flag.gi {
	background-position: -128px -155px;
}
.flag.gh {
	background-position: -144px -155px;
}
.flag.gg {
	background-position: -160px -155px;
}
.flag.ge {
	background-position: -176px 0;
}
.flag.gd {
	background-position: -176px -11px;
}
.flag.uk {
	background-position: -176px -22px;
}
.flag.gb {
	background-position: -176px -22px;
}
.flag.ga {
	background-position: -176px -33px;
}
.flag.bl,
.flag.fr,
.flag.gf,
.flag.mf,
.flag.re {
	background-position: -176px -44px;
}
.flag.fo {
	background-position: -176px -55px;
}
.flag.fm {
	background-position: -176px -66px;
}
.flag.fk {
	background-position: -176px -77px;
}
.flag.fj {
	background-position: -176px -88px;
}
.flag.fi {
	background-position: -176px -99px;
}
.flag.eu {
	background-position: -176px -121px;
}
.flag.et {
	background-position: -176px -132px;
}
.flag.es {
	background-position: -176px -143px;
}
.flag.er {
	background-position: -176px -154px;
}
.flag.eh {
	background-position: -16px -166px;
}
.flag.eg {
	background-position: -32px -166px;
}
.flag.ee {
	background-position: -48px -166px;
}
.flag.ec {
	background-position: -64px -166px;
}
.flag.dz {
	background-position: -80px -166px;
}
.flag.do {
	background-position: -96px -166px;
}
.flag.dm {
	background-position: -112px -166px;
}
.flag.dk {
	background-position: -128px -166px;
}
.flag.dj {
	background-position: -144px -166px;
}
.flag.de {
	background-position: -160px -166px;
}
.flag.cz {
	background-position: -176px -166px;
}
.flag.cy {
	background-position: 0 -177px;
}
.flag.cx {
	background-position: -16px -177px;
}
.flag.cw {
	background-position: -32px -177px;
}
.flag.cv {
	background-position: -48px -177px;
}
.flag.cu {
	background-position: -64px -177px;
}
.flag.cs {
	background-position: -80px -177px;
}
.flag.cr {
	background-position: -96px -177px;
}
.flag.co {
	background-position: -112px -177px;
}
.flag.cn {
	background-position: -128px -177px;
}
.flag.cm {
	background-position: -144px -177px;
}
.flag.cl {
	background-position: -160px -177px;
}
.flag.ck {
	background-position: -176px -177px;
}
.flag.ci {
	background-position: -192px 0;
}
.flag.cg {
	background-position: -192px -11px;
}
.flag.cf {
	background-position: -192px -22px;
}
.flag.cd {
	background-position: -192px -33px;
}
.flag.cc {
	background-position: -192px -44px;
}
.flag.ca {
	background-position: -192px -66px;
}
.flag.bz {
	background-position: -192px -77px;
}
.flag.by {
	background-position: -192px -88px;
}
.flag.bw {
	background-position: -192px -99px;
}
.flag.bt {
	background-position: -192px -110px;
}
.flag.bs {
	background-position: -192px -121px;
}
.flag.br {
	background-position: -192px -132px;
}
.flag.bq {
	background-position: -192px -143px;
}
.flag.bo {
	background-position: -192px -154px;
}
.flag.bn {
	background-position: -192px -165px;
}
.flag.bm {
	background-position: -192px -176px;
}
.flag.bj {
	background-position: 0 -188px;
}
.flag.bi {
	background-position: -16px -188px;
}
.flag.bh {
	background-position: -32px -188px;
}
.flag.bg {
	background-position: -48px -188px;
}
.flag.bf {
	background-position: -64px -188px;
}
.flag.be {
	background-position: -80px -188px;
}
.flag.bd {
	background-position: -96px -188px;
}
.flag.bb {
	background-position: -112px -188px;
}
.flag.ba {
	background-position: -128px -188px;
}
.flag.az {
	background-position: -144px -188px;
}
.flag.ax {
	background-position: -160px -188px;
}
.flag.aw {
	background-position: -176px -188px;
}
.flag.au,
.flag.hm {
	background-position: -192px -188px;
}
.flag.at {
	background-position: -208px 0;
}
.flag.as {
	background-position: -208px -11px;
}
.flag.ar {
	background-position: -208px -22px;
}
.flag.ao {
	background-position: -208px -33px;
}
.flag.an {
	background-position: -208px -44px;
}
.flag.am {
	background-position: -208px -55px;
}
.flag.al {
	background-position: -208px -66px;
}
.flag.ai {
	background-position: -208px -77px;
}
.flag.ag {
	background-position: -208px -88px;
}
.flag.af {
	background-position: -208px -99px;
}
.flag.ae {
	background-position: -208px -110px;
}
.flag.ad {
	background-position: -208px -121px;
}
.flag.np {
	background-position: -208px -132px;
}
.flag.ch {
	background-position: -208px -143px;
}
