.iti-flag {
  width: 16px;
  height: 16px;
  background: url("../images/flags.png");
}
.iti-flag.ad { background-position: 0 -352px; }
.iti-flag.ae { background-position: 0 -368px; }
.iti-flag.af { background-position: 0 -384px; }
.iti-flag.ag { background-position: 0 -400px; }
.iti-flag.ai { background-position: 0 -416px; }
.iti-flag.al { background-position: 0 -432px; }
.iti-flag.am { background-position: 0 -448px; }
.iti-flag.an { background-position: 0 -464px; }
.iti-flag.ao { background-position: 0 -480px; }
.iti-flag.aq { background-position: 0 -496px; }
.iti-flag.ar { background-position: 0 -512px; }
.iti-flag.as { background-position: 0 -528px; }
.iti-flag.at { background-position: 0 -544px; }
.iti-flag.au { background-position: 0 -560px; }
.iti-flag.aw { background-position: 0 -576px; }
.iti-flag.az { background-position: 0 -592px; }
.iti-flag.ba { background-position: 0 -608px; }
.iti-flag.bb { background-position: 0 -624px; }
.iti-flag.bd { background-position: 0 -640px; }
.iti-flag.be { background-position: 0 -656px; }
.iti-flag.bf { background-position: 0 -672px; }
.iti-flag.bg { background-position: 0 -688px; }
.iti-flag.bh { background-position: 0 -704px; }
.iti-flag.bi { background-position: 0 -720px; }
.iti-flag.bj { background-position: 0 -736px; }
.iti-flag.bm { background-position: 0 -752px; }
.iti-flag.bn { background-position: 0 -768px; }
.iti-flag.bo { background-position: 0 -784px; }
.iti-flag.br { background-position: 0 -800px; }
.iti-flag.bs { background-position: 0 -816px; }
.iti-flag.bt { background-position: 0 -832px; }
.iti-flag.bw { background-position: 0 -848px; }
.iti-flag.by { background-position: 0 -864px; }
.iti-flag.bz { background-position: 0 -880px; }
.iti-flag.ca { background-position: 0 -896px; }
.iti-flag.cg { background-position: 0 -912px; }
.iti-flag.cf { background-position: 0 -928px; }
.iti-flag.cd { background-position: 0 -944px; }
.iti-flag.ch { background-position: 0 -960px; }
.iti-flag.ci { background-position: 0 -976px; }
.iti-flag.ck { background-position: 0 -992px; }
.iti-flag.cl { background-position: 0 -1008px; }
.iti-flag.cm { background-position: 0 -1024px; }
.iti-flag.cn { background-position: 0 -1040px; }
.iti-flag.co { background-position: 0 -1056px; }
.iti-flag.cr { background-position: 0 -1072px; }
.iti-flag.cu { background-position: 0 -1088px; }
.iti-flag.cv { background-position: 0 -1104px; }
.iti-flag.cy { background-position: 0 -1120px; }
.iti-flag.cz { background-position: 0 -1136px; }
.iti-flag.de { background-position: 0 -1152px; }
.iti-flag.dj { background-position: 0 -1168px; }
.iti-flag.dk { background-position: 0 -1184px; }
.iti-flag.dm { background-position: 0 -1200px; }
.iti-flag.do { background-position: 0 -1216px; }
.iti-flag.dz { background-position: 0 -1232px; }
.iti-flag.ec { background-position: 0 -1248px; }
.iti-flag.ee { background-position: 0 -1264px; }
.iti-flag.eg { background-position: 0 -1280px; }
.iti-flag.eh { background-position: 0 -1296px; }
.iti-flag.er { background-position: 0 -1312px; }
.iti-flag.es { background-position: 0 -1328px; }
.iti-flag.et { background-position: 0 -1344px; }
.iti-flag.fi { background-position: 0 -1360px; }
.iti-flag.fj { background-position: 0 -1376px; }
.iti-flag.fm { background-position: 0 -1392px; }
.iti-flag.fo { background-position: 0 -1408px; }
.iti-flag.fr { background-position: 0 -1424px; }
.iti-flag.ga { background-position: 0 -1440px; }
.iti-flag.gb { background-position: 0 -1456px; }
.iti-flag.gd { background-position: 0 -1472px; }
.iti-flag.ge { background-position: 0 -1488px; }
.iti-flag.gg { background-position: 0 -1504px; }
.iti-flag.gh { background-position: 0 -1520px; }
.iti-flag.gi { background-position: 0 -1536px; }
.iti-flag.gl { background-position: 0 -1552px; }
.iti-flag.gm { background-position: 0 -1568px; }
.iti-flag.gn { background-position: 0 -1584px; }
.iti-flag.gp { background-position: 0 -1600px; }
.iti-flag.gq { background-position: 0 -1616px; }
.iti-flag.gr { background-position: 0 -1632px; }
.iti-flag.gt { background-position: 0 -1648px; }
.iti-flag.gu { background-position: 0 -1664px; }
.iti-flag.gw { background-position: 0 -1680px; }
.iti-flag.gy { background-position: 0 -1696px; }
.iti-flag.hk { background-position: 0 -1712px; }
.iti-flag.hn { background-position: 0 -1728px; }
.iti-flag.hr { background-position: 0 -1744px; }
.iti-flag.ht { background-position: 0 -1760px; }
.iti-flag.hu { background-position: 0 -1776px; }
.iti-flag.id { background-position: 0 -1792px; }
.iti-flag.mc { background-position: 0 -1792px; }
.iti-flag.ie { background-position: 0 -1808px; }
.iti-flag.il { background-position: 0 -1824px; }
.iti-flag.im { background-position: 0 -1840px; }
.iti-flag.in { background-position: 0 -1856px; }
.iti-flag.iq { background-position: 0 -1872px; }
.iti-flag.ir { background-position: 0 -1888px; }
.iti-flag.is { background-position: 0 -1904px; }
.iti-flag.it { background-position: 0 -1920px; }
.iti-flag.je { background-position: 0 -1936px; }
.iti-flag.jm { background-position: 0 -1952px; }
.iti-flag.jo { background-position: 0 -1968px; }
.iti-flag.jp { background-position: 0 -1984px; }
.iti-flag.ke { background-position: 0 -2000px; }
.iti-flag.kg { background-position: 0 -2016px; }
.iti-flag.kh { background-position: 0 -2032px; }
.iti-flag.ki { background-position: 0 -2048px; }
.iti-flag.km { background-position: 0 -2064px; }
.iti-flag.kn { background-position: 0 -2080px; }
.iti-flag.kp { background-position: 0 -2096px; }
.iti-flag.kr { background-position: 0 -2112px; }
.iti-flag.kw { background-position: 0 -2128px; }
.iti-flag.ky { background-position: 0 -2144px; }
.iti-flag.kz { background-position: 0 -2160px; }
.iti-flag.la { background-position: 0 -2176px; }
.iti-flag.lb { background-position: 0 -2192px; }
.iti-flag.lc { background-position: 0 -2208px; }
.iti-flag.li { background-position: 0 -2224px; }
.iti-flag.lk { background-position: 0 -2240px; }
.iti-flag.lr { background-position: 0 -2256px; }
.iti-flag.ls { background-position: 0 -2272px; }
.iti-flag.lt { background-position: 0 -2288px; }
.iti-flag.lu { background-position: 0 -2304px; }
.iti-flag.lv { background-position: 0 -2320px; }
.iti-flag.ly { background-position: 0 -2336px; }
.iti-flag.ma { background-position: 0 -2352px; }
.iti-flag.md { background-position: 0 -2368px; }
.iti-flag.me { background-position: 0 -2384px; }
.iti-flag.mg { background-position: 0 -2400px; }
.iti-flag.mh { background-position: 0 -2416px; }
.iti-flag.mk { background-position: 0 -2432px; }
.iti-flag.ml { background-position: 0 -2448px; }
.iti-flag.mm { background-position: 0 -2464px; }
.iti-flag.mn { background-position: 0 -2480px; }
.iti-flag.mo { background-position: 0 -2496px; }
.iti-flag.mq { background-position: 0 -2512px; }
.iti-flag.mr { background-position: 0 -2528px; }
.iti-flag.ms { background-position: 0 -2544px; }
.iti-flag.mt { background-position: 0 -2560px; }
.iti-flag.mu { background-position: 0 -2576px; }
.iti-flag.mv { background-position: 0 -2592px; }
.iti-flag.mw { background-position: 0 -2608px; }
.iti-flag.mx { background-position: 0 -2624px; }
.iti-flag.my { background-position: 0 -2640px; }
.iti-flag.mz { background-position: 0 -2656px; }
.iti-flag.na { background-position: 0 -2672px; }
.iti-flag.nc { background-position: 0 -2688px; }
.iti-flag.ne { background-position: 0 -2704px; }
.iti-flag.ng { background-position: 0 -2720px; }
.iti-flag.ni { background-position: 0 -2736px; }
.iti-flag.nl { background-position: 0 -2752px; }
.iti-flag.no { background-position: 0 -2768px; }
.iti-flag.np { background-position: 0 -2784px; }
.iti-flag.nr { background-position: 0 -2800px; }
.iti-flag.nz { background-position: 0 -2816px; }
.iti-flag.om { background-position: 0 -2832px; }
.iti-flag.pa { background-position: 0 -2848px; }
.iti-flag.pe { background-position: 0 -2864px; }
.iti-flag.pf { background-position: 0 -2880px; }
.iti-flag.pg { background-position: 0 -2896px; }
.iti-flag.ph { background-position: 0 -2912px; }
.iti-flag.pk { background-position: 0 -2928px; }
.iti-flag.pl { background-position: 0 -2944px; }
.iti-flag.pr { background-position: 0 -2960px; }
.iti-flag.ps { background-position: 0 -2976px; }
.iti-flag.pt { background-position: 0 -2992px; }
.iti-flag.pw { background-position: 0 -3008px; }
.iti-flag.py { background-position: 0 -3024px; }
.iti-flag.qa { background-position: 0 -3040px; }
.iti-flag.re { background-position: 0 -3056px; }
.iti-flag.ro { background-position: 0 -3072px; }
.iti-flag.rs { background-position: 0 -3088px; }
.iti-flag.ru { background-position: 0 -3104px; }
.iti-flag.rw { background-position: 0 -3120px; }
.iti-flag.sa { background-position: 0 -3136px; }
.iti-flag.sb { background-position: 0 -3152px; }
.iti-flag.sc { background-position: 0 -3168px; }
.iti-flag.sd { background-position: 0 -3184px; }
.iti-flag.se { background-position: 0 -3200px; }
.iti-flag.sg { background-position: 0 -3216px; }
.iti-flag.si { background-position: 0 -3232px; }
.iti-flag.sk { background-position: 0 -3248px; }
.iti-flag.sl { background-position: 0 -3264px; }
.iti-flag.sm { background-position: 0 -3280px; }
.iti-flag.sn { background-position: 0 -3296px; }
.iti-flag.so { background-position: 0 -3312px; }
.iti-flag.sr { background-position: 0 -3328px; }
.iti-flag.st { background-position: 0 -3344px; }
.iti-flag.sv { background-position: 0 -3360px; }
.iti-flag.sy { background-position: 0 -3376px; }
.iti-flag.sz { background-position: 0 -3392px; }
.iti-flag.tc { background-position: 0 -3408px; }
.iti-flag.td { background-position: 0 -3424px; }
.iti-flag.tg { background-position: 0 -3440px; }
.iti-flag.th { background-position: 0 -3456px; }
.iti-flag.tj { background-position: 0 -3472px; }
.iti-flag.tl { background-position: 0 -3488px; }
.iti-flag.tm { background-position: 0 -3504px; }
.iti-flag.tn { background-position: 0 -3520px; }
.iti-flag.to { background-position: 0 -3536px; }
.iti-flag.tr { background-position: 0 -3552px; }
.iti-flag.tt { background-position: 0 -3568px; }
.iti-flag.tv { background-position: 0 -3584px; }
.iti-flag.tw { background-position: 0 -3600px; }
.iti-flag.tz { background-position: 0 -3616px; }
.iti-flag.ua { background-position: 0 -3632px; }
.iti-flag.ug { background-position: 0 -3648px; }
.iti-flag.us { background-position: 0 -3664px; }
.iti-flag.uy { background-position: 0 -3680px; }
.iti-flag.uz { background-position: 0 -3696px; }
.iti-flag.va { background-position: 0 -3712px; }
.iti-flag.vc { background-position: 0 -3728px; }
.iti-flag.ve { background-position: 0 -3744px; }
.iti-flag.vg { background-position: 0 -3760px; }
.iti-flag.vi { background-position: 0 -3776px; }
.iti-flag.vn { background-position: 0 -3792px; }
.iti-flag.vu { background-position: 0 -3808px; }
.iti-flag.ws { background-position: 0 -3824px; }
.iti-flag.ye { background-position: 0 -3840px; }
.iti-flag.za { background-position: 0 -3856px; }
.iti-flag.zm { background-position: 0 -3872px; }
.iti-flag.zw { background-position: 0 -3888px; }

.intl-tel-input {
  position: relative;
}

.intl-tel-input * {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.intl-tel-input .hide {
  display: none;
}

.intl-tel-input .v-hide {
  visibility: hidden;
}

.intl-tel-input input, .intl-tel-input input[type=text], .intl-tel-input input[type=tel] {
  position: relative;
  z-index: 0;
  padding-left: 44px; 
  transition: background-color 100ms ease-out;
}

.intl-tel-input input.iti-invalid-key {
  transition: background-color 0;
  background-color: #FFC7C7;
}

.intl-tel-input .flag-dropdown {
  position: absolute;
  top: 0;
  bottom: 0;
  max-height: 52px;
}

.intl-tel-input .flag-dropdown:hover {
  cursor: pointer;
}

.intl-tel-input .flag-dropdown:hover .selected-flag {
  background-color: rgba(0, 0, 0, 0.05);
}

.intl-tel-input input[disabled] + .flag-dropdown:hover, .intl-tel-input input[readonly] + .flag-dropdown:hover {
  cursor: default;
}

.intl-tel-input input[disabled] + .flag-dropdown:hover .selected-flag, .intl-tel-input input[readonly] + .flag-dropdown:hover .selected-flag {
  background-color: transparent;
}

.intl-tel-input .selected-flag {
  z-index: 1;
  position: relative;
  width: 38px;
  height: 100%;
  padding: 0 0 0 8px;
}

.intl-tel-input .selected-flag .iti-flag {
  position: absolute;
  top: 50%;
  margin-top: -8px;
}

.intl-tel-input .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;
}

.intl-tel-input .selected-flag .arrow.up {
  border-top: none;
  border-bottom: 4px solid #555;
}

.intl-tel-input .country-list {
  list-style: none;
  position: absolute;
  z-index: 2;
  padding: 0;
  margin: 0 0 0 -1px;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  background-color: white;
  border: 1px solid #CCC;
  width: 430px;
  max-height: 200px;
  overflow-y: scroll;
  font-size: 16px;line-height: 1;color: #000;
  min-width: 220px;
}
.country-list div, .country-list span{vertical-align: middle;}
.intl-tel-input .country-list .iti-flag {
  display: inline-block;
}

.intl-tel-input .country-list .divider {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #CCC;
}

.intl-tel-input .country-list .country {
  padding: 5px 10px;
  background: transparent;
  margin: 0;
}

.intl-tel-input .country-list .country .dial-code {
  color: #999;
}

.intl-tel-input .country-list .country.highlight {
  background-color: rgba(0, 0, 0, 0.05);
}

.intl-tel-input .country-list .iti-flag, .intl-tel-input .country-list .country-name {
  margin-right: 6px;
}