/* Override built-in hide-until-JS rules from the mirrored pages */
html.local-runtime-ready .dmDesktopBody:not(.editGrid) [data-anim-desktop]:not([data-anim-desktop='none']),
html.local-runtime-ready .dmDesktopBody:not(.editGrid) [data-anim-extended],
html.local-runtime-ready .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-desktop],
html.local-runtime-ready .dmDesktopBody:not(.editGrid) .dmNewParagraph[data-anim-extended],
html.local-runtime-ready #dmRoot:not(.editGrid) .flex-element [data-anim-extended] {
  visibility: visible !important;
}

/* Text always visible — never hide writing while images animate */
html.local-runtime-ready [data-anim-desktop] .dmNewParagraph,
html.local-runtime-ready [data-anim-extended] .dmNewParagraph,
html.local-runtime-ready [data-anim-desktop] h1,
html.local-runtime-ready [data-anim-desktop] h2,
html.local-runtime-ready [data-anim-desktop] h3,
html.local-runtime-ready [data-anim-extended] h1,
html.local-runtime-ready [data-anim-extended] h2,
html.local-runtime-ready [data-anim-extended] h3,
html.local-runtime-ready [data-anim-desktop] ul,
html.local-runtime-ready [data-anim-extended] ul,
html.local-runtime-ready [data-anim-desktop] .dmWidget,
html.local-runtime-ready [data-anim-extended] .dmWidget,
html.local-runtime-ready [data-anim-desktop="fadeIn"],
html.local-runtime-ready [data-anim-desktop="fadeIn"] * {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Slide-in for image columns (homepage + inner pages) */
html.local-runtime-ready [data-anim-extended].she-anim-pending,
html.local-runtime-ready [data-anim-desktop].she-anim-pending.she-anim-slide {
  opacity: 0;
  transition: opacity 0.65s ease, transform 0.65s ease;
  will-change: opacity, transform;
}

html.local-runtime-ready [data-anim-extended].she-anim-pending.she-anim-from-left,
html.local-runtime-ready [data-anim-desktop].she-anim-pending.she-anim-slide.she-anim-from-left {
  transform: translateX(-72px);
}

html.local-runtime-ready [data-anim-extended].she-anim-pending.she-anim-from-right,
html.local-runtime-ready [data-anim-desktop].she-anim-pending.she-anim-slide.she-anim-from-right {
  transform: translateX(72px);
}

html.local-runtime-ready [data-anim-extended].she-anim-pending.she-anim-from-up,
html.local-runtime-ready [data-anim-desktop].she-anim-pending.she-anim-slide.she-anim-from-up {
  transform: translateY(48px);
}

html.local-runtime-ready [data-anim-extended].she-anim-visible,
html.local-runtime-ready [data-anim-desktop].she-anim-visible.she-anim-slide {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

/* Simple fade for text-only animated blocks */
html.local-runtime-ready [data-anim-desktop="fadeIn"].she-anim-pending:not(.she-anim-slide) {
  opacity: 0;
  transition: opacity 0.55s ease;
}

html.local-runtime-ready [data-anim-desktop="fadeIn"].she-anim-visible:not(.she-anim-slide) {
  opacity: 1 !important;
}

/* Hero sliders: one image via background, no duplicate img */
html.local-runtime-ready #dm .dmImageSlider .slides > li > img {
  display: none !important;
}

html.local-runtime-ready #dm .dmImageSlider .slides > li:not(.she-slide-active) {
  display: none !important;
}

html.local-runtime-ready #dm .dmImageSlider .slides > li.she-slide-active {
  display: block !important;
  min-height: 320px;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

html.local-runtime-ready #dm .dmImageSlider .slide-inner,
html.local-runtime-ready #dm .dmImageSlider .slide-title,
html.local-runtime-ready #dm .dmImageSlider .slide-text,
html.local-runtime-ready #dm .dmImageSlider .slide-button {
  display: none !important;
}

/* Homepage engine photo frame (blue border graphic) */
html.local-runtime-ready #dm .dmBody div.u_1177791812 {
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: left center !important;
  min-height: 380px;
}

html.local-runtime-ready #dm .dmImageSlider,
html.local-runtime-ready .dmImageSlider [data-anim-desktop],
html.local-runtime-ready .dmImageSlider [data-anim-extended] {
  visibility: visible !important;
  opacity: 1 !important;
}

html.local-runtime-ready #dm .dmImageSlider .she-slider-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 22px;
  line-height: 42px;
  text-align: center;
  cursor: pointer;
  z-index: 12;
}

html.local-runtime-ready #dm .dmImageSlider .she-slider-nav.prev {
  left: 12px;
}

html.local-runtime-ready #dm .dmImageSlider .she-slider-nav.next {
  right: 12px;
}

/* Full top navigation bar */
html.local-runtime-ready #1353582561,
html.local-runtime-ready .u_1353582561 {
  background-color: #ffffff !important;
}

html.local-runtime-ready #1313450642 .unifiednav__container {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 1.25rem;
  padding: 0.65rem 0.5rem !important;
}

html.local-runtime-ready #1313450642 .unifiednav__item-wrap {
  display: list-item !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
}

html.local-runtime-ready #1313450642 .unifiednav__item,
html.local-runtime-ready #1313450642 .nav-item-text {
  color: #000000 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html.local-runtime-ready #1313450642 .unifiednav__item.dmNavItemSelected .nav-item-text {
  color: #012456 !important;
}

html.local-runtime-ready #1313450642 .unifiednav__container_sub-nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  padding: 0.35rem 0;
  list-style: none;
}

html.local-runtime-ready #1313450642 .unifiednav__item-wrap:hover .unifiednav__container_sub-nav {
  display: block;
}

html.local-runtime-ready .inMiniHeaderMode #1313450642 .unifiednav__item-wrap {
  display: list-item !important;
}

/* Contact page map */
html.local-runtime-ready .inlineMap .mapContainer {
  min-height: 360px;
}

html.local-runtime-ready .inlineMap .mapContainer iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

/* slideInRight sections on inner pages (background image rows) */
html.local-runtime-ready [data-anim-desktop="slideInRight"].she-anim-pending.she-anim-slide {
  transform: translateX(72px);
}

html.local-runtime-ready [data-anim-desktop="slideInLeft"].she-anim-pending.she-anim-slide {
  transform: translateX(-72px);
}

/* Google Maps / Business icon in top bar (blue storefront) */
html.local-runtime-ready .dmSocialGoogleMyBusiness.socialHubIcon.style5 {
  background: #477cdf !important;
  border-radius: 2px;
}

html.local-runtime-ready .dm-social-icons-google-my-business:before {
  content: '\e903' !important;
  font-family: dm-social-icons !important;
  color: #fff !important;
}

html.local-runtime-ready .dmSocialGoogleMyBusiness.socialHubIcon.style5:after {
  display: none !important;
}
