.marker-label {
  background-color: white;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  position: absolute;
  white-space: nowrap;
  cursor: pointer;
}
.marker-label a {
  color: #0066cc;
  text-decoration: none;
}
.marker-label a:hover {
  text-decoration: underline;
  color: #004499;
}

.c-searchHeader__map {
  position: relative;
}

.center-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -100%);
  z-index: 999;
  pointer-events: none;
}

.map-controls {
  position: relative;
}

.btn-recenter {
  display: block;
  box-sizing: border-box;
  position: absolute;
  padding: 0 0 0 10px;
  width: 200px;
  height: 30px;
  background-color: #fff;
  color: #333;
  text-align: center;
  line-height: 30px;
  border-radius: 15px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  transition: box-shadow .2s, color .2s;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
}
.btn-recenter:hover {
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.5);
}
.btn-recenter::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224.849%22%20height%3D%2225.125%22%20viewBox%3D%220%200%2024.849%2025.125%22%3E%3Cg%20transform%3D%22translate%28-183.756%20-777.932%29%22%3E%3Cpath%20d%3D%22M201.3%2C780.932a8.3%2C8.3%2C0%2C1%2C1-8.3%2C8.3%2C8.31%2C8.31%2C0%2C0%2C1%2C8.3-8.3m0-3a11.3%2C11.3%2C0%2C1%2C0%2C11.3%2C11.3%2C11.3%2C11.3%2C0%2C0%2C0-11.3-11.3%22%20transform%3D%22translate%28-4%29%22%20fill%3D%22%232d438b%22%2F%3E%3Cpath%20d%3D%22M0%2C5.942A1.5%2C1.5%2C0%2C0%2C1-1.061%2C5.5a1.5%2C1.5%2C0%2C0%2C1%2C0-2.121L3.381-1.061a1.5%2C1.5%2C0%2C0%2C1%2C2.121%2C0%2C1.5%2C1.5%2C0%2C0%2C1%2C0%202.121L1.061%2C5.5A1.5%2C1.5%2C0%2C0%2C1%2C0%2C5.942Z%22%20transform%3D%22translate%28185.256%20797.115%29%22%20fill%3D%22%232d438b%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  top: 50%;
  left: 18px;
  transform: translateY(-50%);
  opacity: 1;
  transition: opacity .2s;
}

.gm-style .gm-style-iw-c {
  padding: 0 !important;
}
.gm-style .gm-style-iw-c .gm-style-iw-chr {
  display: none !important;
}

.gm-style .gm-style-iw-c .gm-style-iw-d {
  padding: 0 !important;
  overflow: visible !important;
  max-height: none !important;
}

.info-window-content {
  position: relative;
  max-width: 400px;
}
.info-window-content h3 {
  background: #2d438b;
  margin: 0 0 10px;
  padding: 15px 55px 15px 15px;
  line-height: 1.3;
  font-weight: bold;
  font-size: 16px;
  color: #fff;
}
.info-window-content h3.info-window-title {
  cursor: pointer;
  transition: background-color 0.2s;
  position: relative;
  padding-left: 35px;
}
.info-window-content h3.info-window-title::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 6.3px;
  height: 11.2px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%229.278%22%20height%3D%2215.556%22%20viewBox%3D%220%200%209.278%2015.556%22%3E%3Cpath%20d%3D%22M349.5%2C703.222l-1.5%2C1.5L354.278%2C711%2C348%2C717.278l1.5%2C1.5L357.278%2C711Z%22%20transform%3D%22translate%28-348%20-703.222%29%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.9;
}
.info-window-content h3.info-window-title:hover {
  background: #1e2f5e;
}
.info-window-content h3.info-window-title:hover::before {
  opacity: 1;
}
.info-window-content h3.info-window-title:active {
  background: #162342;
}
.info-window-content div {
  margin: 0 15px 10px;
  display: flex;
}
.info-window-content div .info-icon {
  width: 16px;
  height: 16px;
  margin: 2px 5px 0 0;
  display: inline-block;
  flex-shrink: 0;
}
.info-window-content div .info-icon.address-icon {
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212.839%22%20height=%2218.498%22%20viewBox=%220%200%2012.839%2018.498%22%3E%3Cpath%20d=%22M6.42,18.5a.4.4,0,0,1-.217-.064l-.012-.008a.2.2,0,0,1-.041-.042,28.439,28.439,0,0,1-4.365-6.1A13.141,13.141,0,0,1,0,6.69V6.566A6.5,6.5,0,0,1,6.42,0a6.5,6.5,0,0,1,6.419,6.566V6.69a13.229,13.229,0,0,1-1.78,5.59,28.7,28.7,0,0,1-4.376,6.11A.374.374,0,0,1,6.42,18.5Zm0-14.559a2.846,2.846,0,0,0,0,5.69,2.846,2.846,0,0,0,0-5.69Z%22%20fill=%22%232b4476%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.info-window-content div .info-icon.rating-icon {
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212.839%22%20height=%2218.498%22%20viewBox=%220%200%2012.839%2018.498%22%3E%3Cpath%20d=%22M6.42,18.5a.4.4,0,0,1-.217-.064l-.012-.008a.2.2,0,0,1-.041-.042,28.439,28.439,0,0,1-4.365-6.1A13.141,13.141,0,0,1,0,6.69V6.566A6.5,6.5,0,0,1,6.42,0a6.5,6.5,0,0,1,6.419,6.566V6.69a13.229,13.229,0,0,1-1.78,5.59,28.7,28.7,0,0,1-4.376,6.11A.374.374,0,0,1,6.42,18.5Zm0-14.559a2.846,2.846,0,0,0,0,5.69,2.846,2.846,0,0,0,0-5.69Z%22%20fill=%22%232b4476%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.info-window-content div .info-icon.access-icon {
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%2216.686%22%20height=%2223.703%22%20viewBox=%220%200%2016.686%2023.703%22%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Crect%20width=%2216.686%22%20height=%2223.703%22%20fill=%22%232b4476%22/%3E%3C/clipPath%3E%3C/defs%3E%3Cg%20transform=%22translate(0%20-0.001)%22%3E%3Cg%20transform=%22translate(0%200.001)%22%20clip-path=%22url(%23a)%22%3E%3Cpath%20d=%22M16.543%2C393.119l-2.971-2.97H12.436l.634.634H3.616l.634-.634H3.114l-.766.766a.437.437%2C0%2C0%2C0-.081.081L.143%2C393.119a.431.431%2C0%2C0%2C0-.036.6.43.43%2C0%2C0%2C0%2C.6-.036l.447-.447H15.528l.447.447a.4.4%2C0%2C1%2C0%2C.568-.568m-14.581-.682.85-.85H13.874l.85.85Z%22%20transform=%22translate(0%20-370.128)%22%20fill=%22%232b4476%22/%3E%3Cpath%20d=%22M25.812%2C12.238l-.169-8.169a1.041%2C1.041%2C0%2C0%2C0-.657-.9%2C20.624%2C20.624%2C0%2C0%2C0-4.585-.8V.976h1.43A.516.516%2C0%2C0%2C0%2C22.37.488.516.516%2C0%2C0%2C0%2C21.831%200H14.18a.516.516%2C0%2C0%2C0-.538.488.516.516%2C0%2C0%2C0%2C.538.488h1.43V2.4a23.911%2C23.911%2C0%2C0%2C0-4.579.792%2C1.007%2C1.007%2C0%2C0%2C0-.662.879L10.2%2C12.238c-.008.373-.014.983-.014%2C1.357v5.145a.68.68%2C0%2C0%2C0%2C.678.678H25.147a.68.68%2C0%2C0%2C0%2C.678-.678V13.594c0-.373-.006-.984-.014-1.357M16.339.976h3.333V2.327c-.479-.025-.983-.04-1.515-.04-.638%2C0-1.245.021-1.817.056ZM12%2C5.689a.7.7%2C0%2C0%2C1%2C.694-.678H23.32a.7.7%2C0%2C0%2C1%2C.694.678l.1%2C4.485a.662.662%2C0%2C0%2C1-.663.678H12.559a.662.662%2C0%2C0%2C1-.663-.678Zm.8%2C11.862a.933.933%2C0%2C1%2C1%2C.933-.932.932.932%2C0%2C0%2C1-.933.932m10.421%2C0a.933.933%2C0%2C1%2C1%2C.932-.932.932.932%2C0%2C0%2C1-.932.932%22%20transform=%22translate(-9.662)%22%20fill=%22%232b4476%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
.info-window-content div span {
  font-size: 16px;
  color: #333;
}
.info-window-content div span.rating-display {
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-window-content div span.rating-display .c-review__star {
  position: relative;
  margin: 0 0 5px !important;
  width: 97.6px;
  height: 16.8px;
}
.info-window-content div span.rating-display .c-review__star::before {
  left: 0;
  position: absolute;
  top: 0;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22122%22%20height%3D%2221%22%20viewBox%3D%220%200%20122%2021%22%3E%3Cg%20transform%3D%22translate(16127%2011207)%22%3E%3Cpath%20d%3D%22M12.455%2C1l3%2C8h8l-6%2C6%2C2%2C7-7-4-7%2C4%2C2-7-6-6h8Z%22%20transform%3D%22translate(-16128.455%20-11208)%22%20fill%3D%22%23e8ce00%22/%3E%3Cpath%20d%3D%22M12.293%2C1l3%2C8h8l-6%2C6%2C2%2C7-7-4-7%2C4%2C2-7-6-6h8Z%22%20transform%3D%22translate(-16103.293%20-11208)%22%20fill%3D%22%23e8ce00%22/%3E%3Cpath%20d%3D%22M12.131%2C1l3%2C8h8l-6%2C6%2C2%2C7-7-4-7%2C4%2C2-7-6-6h8Z%22%20transform%3D%22translate(-16078.131%20-11208)%22%20fill%3D%22%23e8ce00%22/%3E%3Cpath%20d%3D%22M11.969%2C1l4%2C8h7l-5%2C6%2C1%2C7-7-4-7%2C4%2C2-7-6-6h8Z%22%20transform%3D%22translate(-16052.969%20-11208)%22%20fill%3D%22%23e8ce00%22/%3E%3Cpath%20d%3D%22M11.969%2C1l4%2C8h7l-5%2C6%2C1%2C7-7-4-7%2C4%2C2-7-6-6h8Z%22%20transform%3D%22translate(-16027.969%20-11208)%22%20fill%3D%22%23e8ce00%22/%3E%3C/g%3E%3C/svg%3E");
  background-size: 97.6px 16.8px;
  background-repeat: no-repeat;
  content: "";
  height: 100%;
  width: 100%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.0"]::before {
  width: 0%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.1"]::before {
  width: 1.8033130635%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.2"]::before {
  width: 3.6066261271%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.3"]::before {
  width: 5.4099391906%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.4"]::before {
  width: 7.2132522541%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.5"]::before {
  width: 9.0165653177%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.6"]::before {
  width: 10.8198783812%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.7"]::before {
  width: 12.6231914447%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.8"]::before {
  width: 14.4265045083%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="0.9"]::before {
  width: 16.2298175718%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.0"]::before {
  width: 20.4917173412%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.1"]::before {
  width: 22.2950304047%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.2"]::before {
  width: 24.0983434682%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.3"]::before {
  width: 25.9016565317%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.4"]::before {
  width: 27.7049695953%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.5"]::before {
  width: 29.5082826588%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.6"]::before {
  width: 31.3115957224%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.7"]::before {
  width: 33.1149087859%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.8"]::before {
  width: 34.9182218494%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="1.9"]::before {
  width: 36.721534913%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.0"]::before {
  width: 40.9834346823%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.1"]::before {
  width: 42.7867477459%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.2"]::before {
  width: 44.5900608094%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.3"]::before {
  width: 46.3933738729%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.4"]::before {
  width: 48.1966869365%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.5"]::before {
  width: 50%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.6"]::before {
  width: 51.8033130635%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.7"]::before {
  width: 53.6066261271%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.8"]::before {
  width: 55.4099391906%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="2.9"]::before {
  width: 57.2132522541%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.0"]::before {
  width: 61.4751519235%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.1"]::before {
  width: 63.278464987%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.2"]::before {
  width: 65.0817780506%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.3"]::before {
  width: 66.8850911141%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.4"]::before {
  width: 68.6884041776%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.5"]::before {
  width: 70.4917172412%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.6"]::before {
  width: 72.2950303047%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.7"]::before {
  width: 74.0983433682%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.8"]::before {
  width: 75.9016564318%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="3.9"]::before {
  width: 77.7049694953%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.0"]::before {
  width: 81.9668692647%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.1"]::before {
  width: 83.7701823282%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.2"]::before {
  width: 85.5734953917%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.3"]::before {
  width: 87.3768084553%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.4"]::before {
  width: 89.1801215188%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.5"]::before {
  width: 90.9834345823%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.6"]::before {
  width: 92.7867477459%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.7"]::before {
  width: 94.5900608094%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.8"]::before {
  width: 96.3933738729%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="4.9"]::before {
  width: 98.1966869365%;
}
.info-window-content div span.rating-display .c-review__star[data-rating="5.0"]::before {
  width: 102.4585867058%;
}
.info-window-content div span.rating-display .c-review__star svg {
  vertical-align: bottom;
}
.info-window-content div span.rating-display .rating-number {
  font-weight: bold;
  color: #333;
}
.info-window-content div span.rating-display small {
  display: inline-block;
  white-space: nowrap;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20width=%2217.769%22%20height=%2216.534%22%20viewBox=%220%200%2017.769%2016.534%22%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Crect%20width=%2217.769%22%20height=%2216.534%22%20fill=%22%232b4476%22/%3E%3C/clipPath%3E%3C/defs%3E%3Cg%20clip-path=%22url(%23a)%22%3E%3Cpath%20d=%22M8.885,0c4.907,0,8.885,3.425,8.885,7.649A6.949,6.949,0,0,1,16,12.226l1.766,4.307-4.6-2.181a9.986,9.986,0,0,1-4.28.946C3.978,15.3,0,11.873,0,7.649S3.978,0,8.885,0m4.041,9.479a1.213,1.213,0,1,0-1.212-1.213,1.213,1.213,0,0,0,1.212,1.213m-4.041,0A1.213,1.213,0,1,0,7.672,8.267,1.213,1.213,0,0,0,8.885,9.479m-4.041,0A1.213,1.213,0,1,0,3.631,8.267,1.213,1.213,0,0,0,4.843,9.479%22%20fill=%22%232b4476%22/%3E%3C/g%3E%3C/svg%3E");
  background-position: left center;
  background-repeat: no-repeat;
  margin: 0 0 0 10px;
  padding: 0 0 0 14px;
}

.info-window-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  border: 3px solid #2d438b;
  background: #fff;
  color: #2d438b;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
  transition: background-color 0.2s ease;
}
.info-window-close-btn:hover {
  border: 3px solid #334c9f;
}

@media (max-width: 767px) {
  .gm-style .gm-style-mtc button {
    font-size: 11px !important;
    height: 30px !important;
    line-height: 30px !important;
  }

  .gm-style .gm-style-mtc {
    font-size: 11px !important;
  }

  .btn-recenter {
    width: 160px;
    font-size: 12px;
    padding: 0 0 0 8px;
    top: 10px;
    left: auto;
    right: 10px;
    transform: none;
  }
  .btn-recenter::before {
    width: 14px;
    height: 14px;
    left: 12px;
  }

  .gm-style .gm-style-iw-c {
    max-width: 84vw !important;
    width: 84vw !important;
  }

  .info-window-content {
    max-width: 100%;
  }
  .info-window-content h3 {
    font-size: 14px;
    padding: 12px 45px 12px 30px;
  }
  .info-window-content h3.info-window-title {
    padding-left: 30px;
  }
  .info-window-content h3.info-window-title::before {
    left: 12px;
    width: 5.5px;
    height: 9.8px;
  }
  .info-window-content div {
    margin: 0 12px 8px;
  }
  .info-window-content div span {
    font-size: 13px;
  }
  .info-window-content div .rating-display {
    gap: 6px;
  }
  .info-window-content div .rating-display .c-review__star {
    width: 85px;
    height: 14.7px;
  }
  .info-window-content div .rating-display .c-review__star::before {
    background-size: 85px 14.7px;
  }
  .info-window-content div .rating-display .rating-number {
    font-size: 13px;
  }
  .info-window-content div .rating-display small {
    font-size: 11px;
  }
  .info-window-content .info-window-close-btn {
    top: 1.4vw;
  }
}
