.educare-location-finder {
  --ecf-teal: var(--bdGreen);
  --ecf-teal-dark: #027C83;
  --ecf-aqua: #EBF6F6;
  --ecf-magenta: var(--bdPurple);
  --ecf-ink: #111111;
  --ecf-muted: #5d6a6d;
  --ecf-line: #d8e7e7;
  --ecf-white: #ffffff;
  background: var(--ecf-white);
  border: 1px solid var(--ecf-line);
  box-shadow: none;
  color: var(--ecf-ink);
  font-family: var(--barlow-sc);
  max-width: 1280px;
  margin-inline: auto;
/*   margin-top: 2.192639rem; */
}

@media (min-width: 768px) {
	.educare-location-finder {
		max-width: 50.117463rem;
	}
}

.educare-location-finder * {
  box-sizing: border-box;
}

.ecf-header {
  border-top: 0.156617rem solid var(--ecf-teal);
  padding: 0.470087rem 0.626468rem;
}

.ecf-controls {
  align-items: end;
  display: grid;
  gap: 0.391542rem;
  grid-template-columns: minmax(10.180891rem, 1.45fr) minmax(7.052467rem, 0.8fr) auto;
}

.ecf-controls label {
  display: grid;
  gap: 0.156617rem;
}

.ecf-controls span {
  font-family: var(--barlow-sc);
  font-size: 0.62641rem;
  font-weight: 600;
  letter-spacing: 0;
}

.ecf-controls select {
  appearance: none;
  background-color: var(--ecf-white);
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.83077 6.43359L0.330774 1.93359C0.0143673 1.61719 -0.0911015 1.125 0.0846798 0.703125C0.260461 0.28125 0.682336 0 1.13937 0H10.1394C10.5964 0 10.9831 0.28125 11.1589 0.703125C11.3347 1.125 11.2292 1.61719 10.9128 1.93359L6.4128 6.43359C5.99093 6.89062 5.25265 6.89062 4.83077 6.43359Z' fill='%2302838B'/%3E%3C/svg%3E");
  background-repeat: no-repeat !important;
  background-size: 0.440094rem auto !important;
  background-position: center right 0.94rem !important;
  border: 1px solid rgba(2, 129, 136, 0.50);
  border-radius: 4px;
  color: var(--ecf-ink);
  font-family: var(--barlow-sc);
  font-size: 0.70471rem;
  font-weight: 500;
  height: 1.95753rem;
  min-height: unset;
  padding: 0 2rem 0 0.391542rem;
  width: 100%;
}

.ecf-controls select:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--bdGreen);
}

.ecf-reset {
  background: var(--bdGreen);
  border: 0;
  border-radius: 4px;
  color: var(--ecf-white);
  cursor: pointer;
  font-family: var(--barlow-sc);
  font-size: 0.78301rem;
  font-weight: 700;
  height: 1.95753rem;
  min-height: unset;
  padding: 0 1.174628rem;
  letter-spacing: 1%;
}

@media (hover: hover) {
  .ecf-reset:hover {
    background: var(--bdPurple);
  }
}

.ecf-result:focus {
  outline: 0.117463rem solid rgba(2, 137, 145, 0.24);
  outline-offset: 0.078309rem;
}

.ecf-body {
  align-items: start;
  background: #fbfdfd;
  border-top: 1px solid var(--ecf-line);
  display: grid;
  grid-template-columns: minmax(12.137040rem, 0.7fr) minmax(21.145654rem, 1.3fr);
  min-height: 0;
}

.ecf-results {
  background: #fbfdfd;
  border-right: 1px solid var(--ecf-line);
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.ecf-meta {
  color: var(--ecf-muted);
  font-family: var(--barlow-sc);
  font-size: 0.78301rem;
  font-weight: 600;
  padding: 0.470087rem 0.548396rem 0.313234rem;
}

.ecf-list {
  display: grid;
  gap: 0.313234rem;
  max-height: 19.578699rem;
  overflow: auto;
  padding: 0 0.548396rem 0.548396rem;
}

.ecf-result {
  background: var(--ecf-white);
  border: 1px solid var(--ecf-line);
  border-radius: 4px;
  color: var(--ecf-ink);
  cursor: pointer;
  display: grid;
  gap: 0.274080rem;
  padding: 0.470087rem;
  text-align: left;
  width: 100%;
}

.ecf-result.is-active {
  border-color: var(--bdGreen);
  box-shadow: inset 0.156617rem 0 0 var(--bdGreen);
}

@media (hover: hover) {
  .ecf-result:hover {
    border-color: rgba(2, 137, 145, 0.50);
  }
}

.ecf-result__school {
  font-family: var(--barlow-sc);
  font-size: 0.86131rem;
  font-weight: 700;
  line-height: 1.18;
}

.ecf-result__meta {
  color: var(--ecf-muted);
  font-family: var(--barlow-sc);
  font-size: 0.70471rem;
  font-weight: 500;
  line-height: 1.28;
}

.ecf-programs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.195771rem;
  margin-top: 0.117463rem;
}

.ecf-program {
  background: var(--purple-16);
  border: 1px solid var(--purple-50);
  border-radius: 999px;
  color: var(--bdPurple);
  display: inline-flex;
  font-family: var(--barlow-sc);
  font-size: 0.548160rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.195771rem 0.274080rem;
  white-space: nowrap;
}

.ecf-map-panel {
  align-self: stretch;
  background: var(--ecf-white);
  display: grid;
  grid-template-rows: auto;
  min-height: 100%;
  padding: 0.470087rem;
}

.ecf-map {
  border: 1px solid var(--ecf-line);
  border-radius: 4px;
  height: 100%;
  min-height: clamp(18.798746rem, 58vh, 21.145654rem);
  overflow: hidden;
  width: 100%;
  z-index: 1;
}

.ecf-marker {
  align-items: center;
  background: var(--bdPurple);
  border: 0.078309rem solid var(--ecf-white);
  border-radius: 999px;
  box-shadow: 0 0.195771rem 0.626468rem rgba(138, 36, 110, 0.23);
  display: flex;
  height: 0.705243rem;
  justify-content: center;
  width: 0.705243rem;
}

.ecf-marker::after {
  background: rgba(138, 36, 110, 0.16);
  border-radius: inherit;
  content: "";
  height: 1.252937rem;
  position: absolute;
  width: 1.252937rem;
  z-index: -1;
}

.ecf-marker.is-active {
  background: var(--bdGreen);
  height: 0.939702rem;
  width: 0.939702rem;
}

.ecf-empty,
.educare-location-finder__empty {
  color: var(--ecf-muted);
  font-family: var(--barlow-sc);
  font-size: 0.78301rem;
  font-weight: 600;
  margin: 0;
  padding: 0 0.705243rem 0.705243rem;
}

.leaflet-control-attribution.leaflet-control {
    transform: scale(.5);
    transform-origin: bottom right;
}

@media (max-width: 980px) {
  .ecf-body {
    grid-template-columns: 1fr;
  }

  .ecf-results {
    border-right: 0;
    order: 2;
  }

  .ecf-map-panel {
    min-height: 0;
    order: 1;
  }

  .ecf-map {
    height: 16.451838rem;
    min-height: 0;
  }

  .ecf-list {
    max-height: 16.451838rem;
  }
}

@media (max-width: 680px) {
  .ecf-header,
  .ecf-map-panel {
    padding: 0.391542rem;
  }

  .ecf-controls {
    gap: 0.234926rem;
	  grid-template-columns: 1fr;
/*     grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr) auto; */
  }

  .ecf-controls span {
    font-size: 0.58731rem;
  }

  .ecf-controls select {
    font-size: 0.62641rem;
	  height: 1.95753rem;
/*     height: 1.75rem; */
  }

  .ecf-reset {
    font-size: 0.70471rem;
    height: 1.75rem;
    padding: 0 0.391542rem;
	  margin-top: .75rem;
  }

  .ecf-map {
    height: 12.918558rem;
    min-height: 0;
  }

  .ecf-list {
    max-height: 12.918558rem;
  }
}