/* Google Places autocomplete — IDO booking pages */

.place-search-wrap{
    position:relative;
}

.place-search-wrap input[type="text"]{
    padding-right:40px;
}

.place-search-icon{
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    width:16px;
    height:16px;
    pointer-events:none;
    opacity:.55;
}

.place-search-icon svg{
    width:100%;
    height:100%;
    display:block;
}

.places-results{
    position:absolute;
    z-index:80;
    left:0;
    right:0;
    top:calc(100% + 5px);
    margin:0;
    padding:5px 0;
    list-style:none;
    background:#fff;
    border:1px solid #d7d2c8;
    box-shadow:0 14px 34px rgba(26,26,24,.14);
    max-height:300px;
    overflow-y:auto;
}

.places-results[hidden]{
    display:none;
}

.place-result-button{
    width:100%;
    border:0;
    background:#fff;
    color:#1a1a18;
    text-align:left;
    padding:12px 14px;
    font:400 12px/1.5 'Montserrat',sans-serif;
    cursor:pointer;
}

.place-result-button:hover,
.place-result-button:focus{
    background:#f0ece3;
    outline:none;
}

.place-result-button + .place-result-button{
    border-top:1px solid #eeeae2;
}

.place-selection{
    display:none;
    margin-top:9px;
    padding-left:18px;
    position:relative;
    font-size:10.5px;
    line-height:1.55;
    color:#5e6340;
}

.place-selection.visible{
    display:block;
}

.place-selection:before{
    content:'✓';
    position:absolute;
    left:0;
    top:0;
    color:#6b7142;
    font-weight:600;
}

.place-error{
    display:none;
    margin-top:8px;
    font-size:10.5px;
    line-height:1.5;
    color:#8b3d34;
}

.place-error.visible{
    display:block;
}

.place-loading{
    padding:12px 14px;
    font-size:10.5px;
    color:#6f6d67;
}

.place-api-note{
    margin-top:8px;
    font-size:10.5px;
    line-height:1.55;
    color:#6f6d67;
}

@media(max-width:700px){
    .place-result-button{
        padding:14px;
        font-size:13px;
    }

    .places-results{
        max-height:260px;
    }
}
