/* Targeted New Canaan display corrections, 2026-10-08. */
/* All instances of the shared Revolution slider use white captions. */
body .slider-section .tp-caption,
body .slider-section .tp-caption *,
body .tp-banner .tp-caption,
body .tp-banner .tp-caption *,
body .slider-text, body .slider-text * {
  color: #FFFFFF !important;
}
body .tp-caption { text-shadow: 0 2px 5px rgba(0,0,0,.55); }
/* Remove the template's line across the active navigation link. */
body .menuzord.red .menuzord-menu li.active::after,
body .menuzord-menu li.active > a::after {
  content: none !important;
  display: none !important;
}
body .menuzord-menu a { text-decoration: none !important; }
/* White menu labels on a navy background after scrolling. */
body .main-menu.fixed-nav,
body .main-menu.navbar-fixed-top,
body .main-menu.fixed-nav .menuzord,
body .main-menu.navbar-fixed-top .menuzord,
body .main-menu.fixed-nav ul.dropdown,
body .main-menu.navbar-fixed-top ul.dropdown,
body .main-menu.fixed-nav .megamenu,
body .main-menu.navbar-fixed-top .megamenu {
  background-color: #0B1F3A !important;
}
body .main-menu.fixed-nav a, body .main-menu.fixed-nav a *,
body .main-menu.navbar-fixed-top a, body .main-menu.navbar-fixed-top a * {
  color: #FFFFFF !important;
}
body .main-menu.fixed-nav .showhide em,
body .main-menu.navbar-fixed-top .showhide em { background-color: #FFFFFF !important; }
/* Clearly defined contact fields. */
body .contact-us input.form-control,
body .contact-us textarea.form-control,
body .contact-section input.form-control,
body .contact-section textarea.form-control,
body .footer-widget .form-control {
  background-color: #FFFFFF !important;
  border: 1px solid #D3D7DC !important;
  box-shadow: 0 3px 10px rgba(80,80,80,.16) !important;
  color: #0B1F3A !important;
}
body .contact-us .form-control:focus,
body .contact-section .form-control:focus,
body .footer-widget .form-control:focus {
  border-color: #0B1F3A !important;
  box-shadow: 0 3px 10px rgba(80,80,80,.22) !important;
}
/* White booking panel: remove the decorative image with a baked-in black background. */
body .home-dark.contact-section,
body.home-dark .contact-section,
body .contact-section {
  background-color: #FFFFFF !important;
  background-image: none !important;
}
body .contact-section .section-head {
  background-color: #FFFFFF !important;
  padding: 28px 16px;
}
body .contact-section .section-head h2,
body .contact-section .section-head h2 span {
  color: #0B1F3A !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  margin-bottom: 12px;
}
body .contact-section .section-head h3 {
  color: #0B1F3A !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
}
body .contact-section .section-content::after { content: ''; display: table; clear: both; }
/* Give the existing three footer columns space and stack form fields. */
body .footer-widget > .container > .row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);
  gap: 32px;
  margin-left: 0;
  margin-right: 0;
}
body .footer-widget > .container > .row::before,
body .footer-widget > .container > .row::after { content: none; }
body .footer-widget > .container > .row > [class*="col-"] {
  float: none; width: auto; padding: 0; min-width: 0;
}
body .footer-widget h2.rounded { font-size: 22px; line-height: 1.35; margin-bottom: 18px; }
body .footer-widget p, body .footer-widget .list-items { font-size: 14px; line-height: 1.75; }
body .footer-widget .list-items li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
body .footer-widget .list-items .icon { flex: 0 0 25px; margin-right: 0; }
body .footer-widget .list-items .mm-small-box { padding-left: 0; margin-left: 0; overflow-wrap: anywhere; }
body .footer-widget .list-items .mm-small-box::before { content: none; }
body .footer-widget .contact-form form .row { margin: 0; }
body .footer-widget .contact-form form [class*="col-"] { float: none; width: 100%; padding: 0; }
body .footer-widget .contact-form .form-control { float: none; display: block; width: 100%; margin-bottom: 16px; }
body .footer-widget .contact-form textarea.form-control { height: 130px; }
body .footer-widget .contact-form form::after { content: ''; display: table; clear: both; }
@media (max-width: 991px) {
  body .footer-widget > .container > .row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
  body .footer-widget > .container > .row > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  body .footer-widget > .container > .row { grid-template-columns: minmax(0,1fr); }
  body .contact-section .section-head h2, body .contact-section .section-head h2 span { font-size: 24px !important; }
}
