﻿/* 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;
}
