/* Contact page only — classes in contact.tpl */
.tt-contact-eyebrow {
  background: #12646C !important;
  border-color: #12646C !important;
  color: white !important;
  border-radius: 5px !important;
  font-family: "Gelasio", serif !important;
}
.tt-contact-breadcrumb,
.tt-contact-eyebrow::before {
  display: none;
}
.tt-contact-btn.tt-contact-btn-primary {
  background-color: #12646C !important;
  box-shadow: none;
}
.tt-contact-btn.tt-contact-btn-primary:hover {
  background-color: white !important;
  color: #12646C !important;
  transform: none;
}
.tt-contact-btn.tt-contact-btn-light {
  border-color: white;
  color: #12646C !important;
  transition: 0.3s all !important;
}
.tt-contact-btn.tt-contact-btn-light:hover {
  transform: none;
  background-color: #12646C !important;
  color: white !important;
}
.tt-contact-marquee span::before {
  background-color: #12646C !important;
}
.tt-contact-section-head {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.tt-contact-method-card::after {
  background-color: #AEC9CC;
  z-index: -1 !important;
  display: none;
}
.tt-contact-flex {
  display: flex;
  padding: 16px;
  border: 1px solid rgba(113, 145, 168, 0.18);
  border-radius: 20px;
  border-left: 6px solid #12646C;
  gap: 42px;
  background-color: white !important;
}
.tt-contact-map,
.tt-contact-cards {
  flex: 1;
}
.tt-contact-location-card,
.tt-contact-checklist {
  background-color: #F1F9FC;
}
.tt-contact-location-card .tt-location-list a {
  background: white !important;
}
.tt-contact-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tt-contact-page .tt-contact-map {
  display: flex;
  min-width: 0;
}
.tt-contact-page .tt-contact-map .tt-map-card {
  position: relative;
  flex: 1;
  height: auto;
  min-height: 360px;
}
.tt-contact-page .tt-contact-map .tt-map-card iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
@media (max-width: 1100px) {
  .tt-contact-page .tt-contact-map .tt-map-card {
    min-height: 320px;
  }
}
.tt-contact-page .tt-contact-method-icon {
  display: inline-flex;
  box-sizing: border-box;
  width: max-content !important;
  height: auto !important;
  padding: 12px;
  margin: 0 auto 16px 0;
  align-self: flex-start;
  align-items: center;
  justify-content: center !important;
  background-color: #e7f1f2 !important;
  border-radius: 8px;
}
.tt-contact-method-card span {
  font-size: 13px;
  color: #12646C;
  display: none;
}
.tt-contact-method-icon svg {
  stroke: #12646C;
  width: 30px !important;
  height: 30px !important;
}
.tt-location-list svg {
  color: #12646C !important;
  transition: 0.3s all;
}
.tt-location-list :is(a, span),
.tt-contact-submit svg {
  transition: 0.3s all;
}
.tt-location-list a:hover {
  background-color: #12646C !important;
}
.tt-location-list a:hover :is(span, svg) {
  color: white !important;
}
.tt-contact-checklist > ul > li > span::after {
  border-color: #12646C;
}
.tt-contact-checklist li span {
  background: none !important;
}
.tt-contact-submit {
  background: #12646C;
  box-shadow: none;
}
.tt-contact-submit:hover {
  box-shadow: none !important;
  transform: none;
}
.tt-contact-submit:hover svg {
  transform: translateX(6px) !important;
}
.tt-field select,
.tt-field input,
.tt-field textarea {
  background: rgba(18, 100, 108, 0.1) !important;
  border-color: rgba(18, 100, 108, 0.1) !important;
}

@media (max-width: 1100px) {
  .tt-contact-flex {
    flex-direction: column !important;
  }
}

.tt-contact-hero {
  height: auto !important;
  min-height: 0 !important;
  --tt-inner-hero-padding: clamp(40px, 5vw, 72px) 0;
  padding: clamp(40px, 5vw, 72px) 0 !important;
}
.tt-contact-hero-grid {
  align-items: start !important;
  padding: 0 !important;
  gap: 24px !important;
}
.tt-contact-hero h1 {
  font-family: "Gelasio", serif !important;
  font-size: clamp(28px, 3vw, 38px) !important;
}
@media (max-width: 760px) {
  .tt-contact-hero h1 {
    font-size: clamp(24px, 7vw, 32px) !important;
  }
}

/* Keep the contact form outlined, with a soft teal hover tint. */
@layer tt-card-layout {
  html body #content.tt-contact-page #tt-contact-form .tt-contact-form-card {
    border: 1px solid #aec9cc !important;
    background: #ffffff !important;
    transition: background-color 0.3s ease, border-color 0.3s ease !important;
  }
  html body #content.tt-contact-page #tt-contact-form .tt-contact-form-card:hover {
    border-color: #12646c !important;
    background: #e7f1f2 !important;
  }
  @media (prefers-reduced-motion: reduce) {
    html body #content.tt-contact-page #tt-contact-form .tt-contact-form-card {
      transition: none !important;
    }
  }
}