.hw-locations-search-block { margin-top: 1em; margin-bottom: 1em; }
.hw-locations-search-block .gmap_container { display: block; background: #F1F1F1; position: relative; margin: 0 0 1em; }
.hw-locations-search-block .gmap_container::before { display: block; content: ""; padding: 75% 0 0; }
.hw-locations-search-block .gmap_container .gmap { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.hw-locations-search-block form { position: relative; }
.hw-locations-search-block form .input-wrapper { position: relative; margin-right: 3em; }
.hw-locations-search-block form .input-wrapper input[type="search"] { background: white; box-sizing: border-box; width: 100%; padding: 0 2em 0 0.5em; line-height: 2.5em; height: 2.5em; font-size: 1em; }
.hw-locations-search-block form button { display: block; position: absolute; bottom: 0; right: 0; height: 100%; line-height: 1em; padding: 0.5em; width: 3em; text-align: center; text-decoration: none; }
.hw-locations-search-block form button::after { content: "\e900"; font-family: "location-search-icons"; }
.hw-locations-search-block form.searching button::before { content: ""; display: block; position: absolute; top: 50%; left: 50%; width: 1em; height: 1em; margin-top: -0.5em; margin-left: -0.5em; border: 0.2em solid currentcolor; border-radius: 50%; }
.hw-locations-search-block form.searching button::after { content: ""; display: block; position: absolute; bottom: 50%; right: 50%; width: 0.5em; height: 0.5em; background: inherit; transform-origin: 100% 100%; animation: hwspin 0.6s linear infinite; }
.hw-locations-search-block .use-location { display: block; position: absolute; bottom: 0; right: 0; width: 2.5em; height: 2.5em; text-align: center; line-height: 2.5em; color: inherit; text-decoration: none; border: none; box-shadow: none; }
.hw-locations-search-block .use-location:hover { box-shadow: none; }
.hw-locations-search-block .use-location::before { content: "\e901"; font-family: "location-search-icons"; }

.hw-locations-search-block .results { margin: 1em 0 0; }
.hw-locations-search-block .results .hw-locations-result { display: flex; width: 100%; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; margin: 1em 0; padding: 0 0 1em 0; color: inherit; text-decoration: none; }
.hw-locations-search-block .results .hw-locations-result.highlighted { background: #FFCA5E; }
.hw-locations-search-block .results .hw-locations-result .location-thumb { width: 5em; margin: 0 1em 0 0; flex-grow: 0; flex-shrink: 0; }
.hw-locations-search-block .results .hw-locations-result .location-text { flex-grow: 1; }
.hw-locations-search-block .results .hw-locations-result .location-title { margin: 0; text-align: left; }

.hw-locations-search-block .pagination { text-align: center; position: relative; z-index: 2; margin: 2em auto 0; display: table; border: 1px solid #EAEAEA; border-collapse: collapse; }
.hw-locations-search-block .pagination .page-numbers { vertical-align: middle; display: inline-block; padding: 0 0.75em; line-height: 2em; border: 1px solid #EAEAEA; display: table-cell; }

@-webkit-keyframes hwspin {
	to { -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg); }
}

@keyframes hwspin {
	to { transform: rotateZ(360deg); }
}

.hw-locations-map-block { margin-top: 1em; margin-bottom: 1em; }
.hw-locations-map-block .gmap_container { display: block; background: #F1F1F1; position: relative; margin: 0 0 1em; }
.hw-locations-map-block .gmap_container::before { display: block; content: ""; padding: 75% 0 0; }
.hw-locations-map-block .gmap_container .gmap { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.hw-locations-info-window-logo { display: block; width: 8em; margin: 0 0 1em; }
.hw-locations-info-window-logo img { display: block; width: 100%; height: auto; }
.hw-locations-info-window-title { font-weight: bold; font-size: 1.2em; margin: 0 0 0.5em; }
.hw-locations-info-window-address { margin: 0 0 0.5em; }
.hw-locations-info-window-bottom { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; border-top: 1px solid #C1C1C1; padding-top: 0.5em; }
.hw-locations-info-window-bottom a { font-weight: bold; }
.hw-locations-info-window-bottom a:hover { text-decoration: underline; }