/* Basics */
.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder *,
.mapboxgl-ctrl-geocoder *:after,
.mapboxgl-ctrl-geocoder *:before {
  -webkit-box-sizing:border-box;
     -moz-box-sizing:border-box;
          box-sizing:border-box;
  }
.mapboxgl-ctrl-geocoder {
  font:15px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
  position:relative;
  background-color:white;
  width:33.3333%;
  min-width:240px;
  max-width:360px;
  z-index:1;
  border-radius:3px;
  }

.mapboxgl-ctrl-geocoder input[type='text'] {
  font-size:12px;
  width:100%;
  border:0;
  background-color:transparent;
  height:40px;
  margin:0;
  color:rgba(0,0,0,.5);
  padding:10px 10px 10px 40px;
  text-overflow:ellipsis;
  white-space:nowrap;
  overflow:hidden;
  }
  .mapboxgl-ctrl-geocoder input:focus {
    color:rgba(0,0,0,.75);
    outline:0;
    box-shadow:none;
    outline:thin dotted\8;
    }

.mapboxgl-ctrl-geocoder .geocoder-icon-search {
  position:absolute;
  top:10px;
  left:10px;
  }
.mapboxgl-ctrl-geocoder button {
  padding:0;
  margin:0;
  background-color:#fff;
  border:none;
  cursor:pointer;
  }
.mapboxgl-ctrl-geocoder .geocoder-pin-right * {
  background-color:#fff;
  z-index:2;
  position:absolute;
  right:10px;
  top:10px;
  display:none;
  }

.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder ul {
  box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
  }

/* Suggestions */
.mapboxgl-ctrl-geocoder ul {
  background-color:#fff;
  border-radius: 0 0 3px 3px;
  left:0;
  list-style:none;
  margin:0;
  padding:0;
  position:absolute;
  width:100%;
  top:100%;
  z-index:1000;
  overflow:hidden;
  font-size:12px;
  }
  .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-geocoder ul,
  .mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-geocoder ul {
    top:auto;
    bottom:100%;
    }
  .mapboxgl-ctrl-geocoder ul > li > a {
    clear:both;
    cursor:default;
    display:block;
    padding:5px 10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    border-bottom:1px solid rgba(0,0,0,0.1);
    color:#404040;
    }
    .mapboxgl-ctrl-geocoder ul > li:last-child > a { border-bottom:none; }
    .mapboxgl-ctrl-geocoder ul > li > a:hover {
      color:#202020;
      background-color:#f3f3f3;
      text-decoration:none;
      cursor:pointer;
      }
    .mapboxgl-ctrl-geocoder ul > li.active > a {
      color:#202020;
      background-color:#e3e3e3;
      text-decoration:none;
      cursor:pointer;
      }

@-webkit-keyframes rotate { from { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } }
   @-moz-keyframes rotate { from { -moz-transform: rotate(0deg); } to { -moz-transform: rotate(360deg); } }
    @-ms-keyframes rotate { from { -ms-transform: rotate(0deg); } to { -ms-transform: rotate(360deg); } }
        @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* icons */
.geocoder-icon {
  display:inline-block;
  width:20px;
  height:20px;
  vertical-align:middle;
  speak:none;
  background-repeat:no-repeat;
  }
  .geocoder-icon-search {
    background-image: url(data:image/svg+xml;base64,phn2zyb4bwxuczpzdmc9imh0dha6ly93d3cudzmub3jnlziwmdavc3zniib4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihdpzhropsiymcigagvpz2h0psiymcigdmvyc2lvbj0ims4xij4nciagphbhdgggzd0ittgunsa0qzygnca0idygnca4ljugncaxmsa2idezidgunsaxmya5ljqgmtmgmtaumiaxmi44idewljggmtium0wxmc45ideyljmgmtqumyaxns43qze0ljugmtuuosaxnc43ide2ide1ide2ide1ljygmtygmtygmtuuniaxniaxnsaxniaxnc43ide1ljkgmtqunsaxns43ide0ljnmmtiumyaxmc45ideyljmgmtauoemxmi44idewljigmtmgos40idezidgunsaxmya2idexidqgoc41idr6ttgunsa1ljvdmtaumia1ljugmteunsa2ljggmteunsa4ljugmteunsaxmc4yidewljigmteunsa4ljugmteunsa2ljggmteunsa1ljugmtaumia1ljugoc41iduunsa2ljggni44iduunsa4ljugns41eiigzmlsbd0iizawmcivpg0kpc9zdmc+);
    }
  .geocoder-icon-close {
    background-image:url(data:image/svg+xml;base64,phn2zyb4bwxuczpzdmc9imh0dha6ly93d3cudzmub3jnlziwmdavc3zniib4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihzpzxdcb3g9ijagmcaymcaymcigdmvyc2lvbj0ims4xiibozwlnahq9ijiwiib3awr0ad0imjaipg0kica8cgf0acbkpsjtnsa1idagms41idmunsazljutmy41idmunsawideunsaxljugmcazljutmy41idmunsazljugms41idagmc0xljutmy41ltmunsazljutmy41idatms41lteunsawltmunsazljutmy41ltmuns0xljugmhoiigzpbgw9iimwmdailz4ncjwvc3znpg==);
    }
  .geocoder-icon-loading {
    background-image:url(data:image/svg+xml;base64,phn2zyb4bwxuczpzdmc9imh0dha6ly93d3cudzmub3jnlziwmdavc3zniib4bwxucz0iahr0cdovl3d3dy53my5vcmcvmjawmc9zdmciihzlcnnpb249ijeumsigd2lkdgg9ijiwiibozwlnahq9ijiwiib2awv3qm94psiwidagmjagmjaipjxwyxroigq9im0xmcayidagmy4zyziuniawidqunyayljegnc43idqun2wzljmgmgmwltqunc0zljytoc04lth6iibmawxspsijmdawii8+phbhdgggzd0ittewidjdni44idigmy43idqumsayljygny4xideuncaxmcayljegmtmunia0ljugmtuuogmyljqgmi40idyuncayljkgos40ideumiayljutms40idqumi00ljignc4yltctms4xidatmi4yidatmy4zidagmc4xidiumi0xljcgnc4zltmuoca0ljzdoc43ide1idyuncaxmy44iduunyaxms43idquoca5ljcgns42idcumsa3ljygnia4ljmgns42idkumsa1ljmgmtagns4zyzatms4xidatmi4yidatmy4zeiigc3r5bgu9imzpbgw6izawmdtvcgfjaxr5ojaumiivpjwvc3znpg==);
    -webkit-animation: rotate 400ms linear infinite;
       -moz-animation: rotate 400ms linear infinite;
        -ms-animation: rotate 400ms linear infinite;
            animation: rotate 400ms linear infinite;
    }