/* Only the map above the original contact content is adjusted. */
.contact-map-page .full_page_photo { margin-top: 100px; }
/* The theme offsets the main content for a fixed hero. Include the header gap. */
.contact-map-page .main { top: var(--contact-map-offset, 580px) !important; }
.contact-map-page .full_page_photo .hgroup { z-index: 1; }
.contact-map-page .hgroup_title,
.contact-map-page .hgroup_subtitle {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  -webkit-animation: none !important;
  animation: none !important;
  -webkit-transform: none !important;
  transform: none !important;
}
.contact-map-page .osm-placeholder {
  height: 320px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.contact-map-page .osm-location-icon { color: #286b9b; font-size: 32px; line-height: 1; margin-bottom: 10px; }
.contact-map-page .osm-placeholder strong { font-size: 22px; margin-bottom: 4px; }
.contact-map-page .osm-address { color: #627480; font-size: 14px; }
.contact-map-page .osm-placeholder p { font-size: 13px; line-height: 1.5; max-width: 420px; margin: 12px 0; }
.contact-map-page .osm-load { font-size: 14px; padding: 10px 24px; border-radius: 4px; text-transform: none; }
.contact-map-page .osm-placeholder p:last-child { font-size: 12px; }
.contact-map-page .osm-unload { background: #fff; color: #263b49; border: 1px solid #dbe5ec; border-radius: 4px; font-size: 12px; padding: 8px 12px; text-transform: none; }

/* The theme uses normal document flow on phones, rather than a fixed hero. */
@media (max-width: 767px) {
  .contact-map-page .full_page_photo { height: auto; margin-top: 0 !important; }
  .contact-map-page .main { top: 0 !important; }
  .contact-map-page .full_page_photo > .container { width: 100%; padding: 0; }
  .contact-map-page .full_page_photo .hgroup { position: relative; }
  .contact-map-page #map.osm-map { height: auto; }
  .contact-map-page .osm-placeholder { height: auto; min-height: 300px; padding: 24px 20px; }
  .contact-map-page .osm-map iframe { height: 300px; }
  .contact-map-page .osm-unload { left: 12px; right: auto; }
  .contact-map-page .osm-placeholder p { margin: 12px 0; }
  .contact-map-page .osm-placeholder p:last-child { line-height: 1.8; }
  .contact-map-page .osm-load { min-height: 44px; }
  .contact-map-page .hgroup_title { padding: 20px 20px 12px; }
  .contact-map-page .hgroup_subtitle { padding: 12px 20px 18px; }
  .contact-map-page .hgroup_subtitle p { line-height: 1.5; }
  .contact-map-page .main > .container > section { padding: 30px 0; }
  .contact-map-page .office_address .team_member { padding: 24px 16px; margin-bottom: 0; }
  .contact-map-page .office_address .team_member > img { width: 80px; height: auto; }
  .contact-map-page .office_address h5 { font-size: 20px; line-height: 1.4; }
  .contact-map-page .office_address address { margin: 20px 0; line-height: 1.6; }
  .contact-map-page .office_address a { display: inline-block; padding: 7px 0; overflow-wrap: anywhere; }
  .contact-map-page .office_address a[href^="tel:"] { color: inherit; }
  .contact-map-page .footer_teasers_wrapper { padding: 36px 0; }
  .contact-map-page .footer_teaser p { overflow-wrap: anywhere; }
  .contact-map-page .copyright .row > div { text-align: center; }
  .contact-map-page .copyright .row > div:last-child { margin-top: 10px; }
  .contact-map-page .copyright a { display: inline-block; padding: 6px 0; }
  .contact-map-page #toTop { bottom: 120px; }
}
