/* Native static-site presentation behaviour. */

/* Full-size custom headings, including headings outside wpb_text_column. */
#page #content h1.vc_custom_heading {
  font-size: 44px !important;
  line-height: 54px !important;
}
#page #content h2.vc_custom_heading {
  font-size: 30px !important;
  line-height: 32px !important;
}
#page #content h3.vc_custom_heading {
  font-size: 24px !important;
  line-height: 34px !important;
}
#page #content h4.vc_custom_heading {
  font-size: 20px !important;
  line-height: 22px !important;
}

/* One clean gold rule in place of WPBakery's paired separator holders. */
#page .vc_separator.vc_separator_no_text {
  display: block !important;
  width: 64px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin-top: 12px !important;
  margin-bottom: 22px !important;
  background: #e2c034 !important;
  border: 0 !important;
}
#page .vc_separator.vc_separator_no_text .vc_sep_holder,
#page .vc_separator.vc_separator_no_text .vc_sep_line {
  display: none !important;
}

/* Dependency-free services carousel. */
.foundation-carousel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 46px !important;
}
.foundation-carousel .owl-stage-outer {
  width: 100% !important;
  overflow: hidden !important;
}
.foundation-carousel .owl-stage {
  display: flex !important;
  align-items: stretch !important;
  width: auto !important;
  transition: transform 420ms ease !important;
  will-change: transform;
}
.foundation-carousel .dt-owl-item {
  display: block !important;
  min-width: 0 !important;
  margin: 0 30px 0 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-sizing: border-box !important;
}
.foundation-carousel .dt-owl-item article,
.foundation-carousel .post-thumbnail-wrap,
.foundation-carousel .post-thumbnail,
.foundation-carousel .post-thumbnail a {
  height: 100%;
  box-sizing: border-box;
}
.foundation-carousel .post-thumbnail img {
  display: block;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover;
}
.foundation-carousel .owl-nav {
  display: block !important;
}
.foundation-carousel .owl-nav button {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  background: rgba(16, 37, 66, 0.9);
  color: #fff;
  transform: translateY(-50%);
  cursor: pointer;
}
.foundation-carousel .owl-nav button:hover,
.foundation-carousel .owl-nav button:focus-visible {
  border-color: #e2c034;
  background: #e2c034;
  color: #102542;
  outline: none;
}
.foundation-carousel .owl-nav button:disabled {
  opacity: 0.4;
  cursor: default;
}
.foundation-carousel .owl-nav .owl-prev { left: 0; }
.foundation-carousel .owl-nav .owl-next { right: 0; }
.foundation-carousel .owl-nav svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Force the populated shared footer into a reliable static layout. */
#footer.footer {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #1a1c20 !important;
  color: #d4d5d8 !important;
}
#footer .wf-wrap {
  width: min(1230px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
#footer .wf-container-footer {
  display: block !important;
  padding: 48px 0 28px !important;
}
#footer .wf-container-footer .wf-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 36px !important;
  margin: 0 !important;
}
#footer .widget {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #d4d5d8 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
#footer .widget-title {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 26px !important;
}
#footer .textwidget p {
  margin: 0 0 8px !important;
  color: #d4d5d8 !important;
  font-family: "Libre Baskerville", Georgia, serif !important;
  font-size: 13px !important;
  line-height: 21px !important;
}
#footer a {
  color: #d4d5d8 !important;
  text-decoration: none !important;
}
#footer a:hover,
#footer a:focus-visible {
  color: #e2c034 !important;
}
#footer #bottom-bar {
  display: block !important;
  color: #fff !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
}
#footer .wf-container-bottom {
  display: flex !important;
  min-height: 56px !important;
  padding: 12px 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
}

@media (max-width: 900px) {
  #footer .wf-container-footer .wf-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .foundation-carousel { padding: 0 40px !important; }
  .foundation-carousel .dt-owl-item { margin-right: 18px !important; }
  #footer .wf-container-footer .wf-container { grid-template-columns: 1fr !important; }
}
@media (prefers-reduced-motion: reduce) {
  .foundation-carousel .owl-stage { transition: none !important; }
}
