body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #222; }
.site-branding img { max-height: 60px; width: auto; }
.entry-content img, .entry-content iframe { max-width: 100%; height: auto; }
.btn, .form-control, .card { border-radius: 0.75rem; }
.hero-slide { min-height: 560px; overflow: hidden; position: relative; }
.hero-video-bg, .hero-image-bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.hero-video-bg { object-fit: cover; }
.hero-image-bg { background-size: cover; background-position: center; background-repeat: no-repeat; }
.hero-overlay { position: absolute; inset: 0; z-index: 1; }
.hero-slide-content { position: relative; z-index: 2; text-shadow: 0 1px 8px rgba(0,0,0,.28); }
.footer-menu ul, .footer-menu li { list-style: none; margin: 0; padding: 0; }
.footer-menu a { display: inline-block; padding: .25rem 0; text-decoration: none; }
.review-stars { color: #d79a00; display: flex; gap: .35rem; margin-bottom: .75rem; }
.content-split-copy { min-height: 100%; }
.content-split-media { min-height: 360px; overflow: hidden; background: #f5f5f5; }
.content-split-img, .content-split-video, .content-split-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.content-split-img, .content-split-video { object-fit: cover; }
.content-split-bg { background-size: cover; background-position: center; background-repeat: no-repeat; }
.js-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal.is-visible { opacity: 1; transform: translateY(0); }
.js-reveal-left { opacity: 0; transform: translateX(-34px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal-left.is-visible { opacity: 1; transform: translateX(0); }
.js-reveal-right { opacity: 0; transform: translateX(34px); transition: opacity .7s ease, transform .7s ease; }
.js-reveal-right.is-visible { opacity: 1; transform: translateX(0); }
.js-float { animation: clientFloat 4s ease-in-out infinite; }

.js-fade {
  opacity: 0;
  transition: opacity 0.7s ease;
}

.js-fade.is-visible {
  opacity: 1;
}
.img-hover-wrap {
  overflow: hidden;
  display: block;
}

.img-hover-zoom {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.6s ease;

  transform: scale(1);
  will-change: transform;
}

.img-hover-wrap:hover .img-hover-zoom {
  transform: scale(1.06);
}

@keyframes clientFloat { 0% { transform: translateY(0); } 50% { transform: translateY(-8px); } 100% { transform: translateY(0); } }
@media (max-width: 767.98px) { .hero-slide { min-height: 460px; } }
@media (prefers-reduced-motion: reduce) { .js-reveal, .js-reveal-left, .js-reveal-right, .js-float { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; } }


.py-6 { padding-top: 5rem; padding-bottom: 5rem; }

.bfb-flex-section { position: relative; }
.bfb-section-intro > *:last-child { margin-bottom: 0; }

.bfb-flex-card {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}

.bfb-flex-card--content {
  padding: 2.5rem;
}

.bfb-flex-card__inner {
  z-index: 2;
  width: 100%;
}

.bfb-flex-card--bg-image {
  position: relative;
}

.bfb-flex-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

.bfb-flex-card--image {
  min-height: 420px;
}

.bfb-flex-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .bfb-flex-card--content {
    padding: 2rem;
  }

  .bfb-flex-card,
  .bfb-flex-card--image {
    min-height: 320px !important;
  }
}

.bfb-card-img { aspect-ratio: 4 / 3; object-fit: cover; }
.bfb-hcard-img { min-height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.bfb-gallery-grid__item { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 1rem; }
.bfb-mosaic { display: grid; gap: 1rem; padding: 0 1rem; }
.bfb-mosaic--thirds, .bfb-mosaic--halves, .bfb-mosaic--1photo { grid-template-columns: repeat(12, 1fr); }
.bfb-mosaic--thirds .bfb-mosaic__item { grid-column: span 4; }
.bfb-mosaic--halves .bfb-mosaic__item { grid-column: span 6; }
.bfb-mosaic--1photo .bfb-mosaic__item { grid-column: span 12; }
.bfb-mosaic--1then2, .bfb-mosaic--2then1, .bfb-mosaic--widethen1, .bfb-mosaic--1thenwide { grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(220px, 1fr); }
.bfb-mosaic--1then2 .bfb-mosaic__item:nth-child(1), .bfb-mosaic--widethen1 .bfb-mosaic__item:nth-child(1) { grid-column: span 8; grid-row: span 2; }
.bfb-mosaic--1then2 .bfb-mosaic__item:nth-child(2), .bfb-mosaic--1then2 .bfb-mosaic__item:nth-child(3), .bfb-mosaic--widethen1 .bfb-mosaic__item:nth-child(2), .bfb-mosaic--widethen1 .bfb-mosaic__item:nth-child(3) { grid-column: span 4; }
.bfb-mosaic--2then1 .bfb-mosaic__item:nth-child(1), .bfb-mosaic--2then1 .bfb-mosaic__item:nth-child(2), .bfb-mosaic--1thenwide .bfb-mosaic__item:nth-child(1), .bfb-mosaic--1thenwide .bfb-mosaic__item:nth-child(2) { grid-column: span 4; }
.bfb-mosaic--2then1 .bfb-mosaic__item:nth-child(3), .bfb-mosaic--1thenwide .bfb-mosaic__item:nth-child(3) { grid-column: span 8; }
.bfb-mosaic__item { position: relative; overflow: hidden; min-height: 240px; border-radius: 1rem; }
.bfb-mosaic__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bfb-mosaic__link, .bfb-mosaic__link:hover { color: inherit; text-decoration: none; }
.bfb-mosaic__overlay { position: absolute; inset: 0; display: flex; align-items: end; padding: 1.25rem; background: linear-gradient(to top, rgba(0,0,0,.6), rgba(0,0,0,.1)); }
.bfb-mosaic__copy { position: relative; z-index: 2; }

.light-shade
{
	background:#F2F3F5;
}

.dark-shade
{
	background:#3f3f3f;
	color:#ffffff;
}

.dark-shade h2,
.dark-shade h3,
.dark-shade h4,
.dark-shade .h2,
.dark-shade .h3,
.dark-shade .h4,
.hero-title
{
	color:#ffffff;
}


.panel_with_bg
{
	min-height:20vw;
}



.gfield_radio {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
}

.gfield_radio .gchoice {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
}

.gfield_radio .gchoice label {
  margin-left: 6px !important;
  width: auto !important;
}

@media (max-width: 991.98px) {
  .bfb-mosaic, .bfb-mosaic--1then2, .bfb-mosaic--2then1, .bfb-mosaic--widethen1, .bfb-mosaic--1thenwide, .bfb-mosaic--thirds, .bfb-mosaic--halves, .bfb-mosaic--1photo { grid-template-columns: 1fr; padding: 0 .75rem; }
  .bfb-mosaic .bfb-mosaic__item { grid-column: auto !important; grid-row: auto !important; }
}
