.wright-form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.wright-form-status {
  width: 100%;
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.5;
}

.wright-form-status.is-success {
  color: #166534;
}

.wright-form-status.is-error {
  color: #a40001;
}
/* Shared corrections requested for the recovered static site. */

/* Keep the exported header and every nested dropdown above page content. */
.elementor-location-header,
header.elementor {
  position: relative !important;
  z-index: 100000 !important;
  overflow: visible !important;
}

.elementor-location-header .elementor-nav-menu--main,
.elementor-location-header .elementor-nav-menu--main ul,
.elementor-location-header .elementor-widget-container,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner {
  overflow: visible !important;
}

.elementor-location-header .elementor-nav-menu--main li.menu-item-has-children {
  position: relative;
}

.elementor-location-header .elementor-nav-menu--main ul.sub-menu {
  z-index: 100001 !important;
}

.elementor-location-header .elementor-nav-menu--main ul.sub-menu ul.sub-menu {
  left: 100% !important;
  top: 0 !important;
}

.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item,
.elementor-location-header ul.sub-menu .elementor-item,
.elementor-location-header ul.sub-menu .elementor-sub-item {
  color: #54595f !important;
}

@media (min-width: 1025px) {
  .elementor-location-header .elementor-nav-menu--main li.menu-item-has-children:hover > ul.sub-menu,
  .elementor-location-header .elementor-nav-menu--main li.menu-item-has-children:focus-within > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .elementor-location-header .elementor-nav-menu--main ul.sub-menu ul.sub-menu {
    box-sizing: border-box !important;
    max-width: none !important;
    min-width: 310px !important;
    overflow: visible !important;
    width: max-content !important;
  }

  .elementor-location-header .elementor-nav-menu--main ul.sub-menu ul.sub-menu > li,
  .elementor-location-header .elementor-nav-menu--main ul.sub-menu ul.sub-menu .elementor-sub-item {
    box-sizing: border-box !important;
    max-width: none !important;
    overflow: visible !important;
    white-space: nowrap !important;
    width: 100% !important;
  }
}

/* Center all footer social links. Five icons fit on one row when space permits. */
.elementor-location-footer .ekit_social_media {
  align-items: center;
  display: flex !important;
  flex-wrap: nowrap;
  gap: 8px;
  justify-content: center;
  margin-inline: auto !important;
  max-width: none;
  padding: 0 !important;
  text-align: center !important;
  width: 100%;
}

.elementor-location-footer .ekit_social_media > li {
  display: block !important;
  margin: 0 !important;
}

/* Blog pagination uses the approved dark Wright red. */
.elementor-pagination .page-numbers,
.elementor-pagination .page-numbers.current,
.elementor-pagination a.page-numbers:hover,
.elementor-pagination a.page-numbers:focus {
  color: #a40001 !important;
}

/* Related articles: one complete row of three cards, with no gray image gap. */
.elementor-element-565224d .elementor-posts-container > article:nth-child(n + 4) {
  display: none !important;
}

.elementor-element-565224d .elementor-post__thumbnail {
  background: transparent !important;
  height: 180px !important;
  overflow: hidden !important;
  padding-bottom: 0 !important;
}

.elementor-element-565224d .elementor-post__thumbnail img {
  height: 100% !important;
  inset: auto !important;
  object-fit: cover !important;
  position: static !important;
  transform: none !important;
  width: 100% !important;
}

/* Keep the consultation call-to-action inside its gray Contact card. */
.elementor-element-bca2c11,
.elementor-element-bca2c11 > .elementor-widget-container,
.elementor-element-bca2c11 .elementor-button-wrapper {
  box-sizing: border-box !important;
  max-width: 100% !important;
  width: 100% !important;
}

.elementor-element-bca2c11 .wright-complete-toggle {
  box-sizing: border-box !important;
  max-width: 100% !important;
  white-space: normal !important;
  width: 100% !important;
}

.elementor-element-bca2c11 .wright-complete-toggle .elementor-button-text {
  overflow-wrap: anywhere;
}

/* Increase all consultation labels and choices by two pixels. */
.wright-complete-panel {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.wright-complete-panel legend,
.wright-complete-panel h3,
.wright-complete-panel h4 {
  font-size: 14px !important;
}

.wright-complete-panel label {
  font-size: 13px !important;
}

.wright-complete-panel input,
.wright-complete-panel textarea,
.wright-complete-panel button {
  font-size: 13px !important;
}

/* Portfolio galleries retain a small separation after their final image. */
.elementor-widget-gallery {
  padding-bottom: 5px !important;
}

/* Local accessible portfolio lightbox. */
.wright-lightbox {
  align-items: center;
  background: rgba(0, 0, 0, 0.86);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 28px 64px;
  position: fixed;
  z-index: 200000;
}

.wright-lightbox.is-open {
  display: flex;
}

.wright-lightbox__image {
  display: block;
  max-height: calc(100vh - 56px);
  max-width: min(1100px, 100%);
  object-fit: contain;
}

.wright-lightbox__close,
.wright-lightbox__previous,
.wright-lightbox__next {
  align-items: center;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer;
  display: flex;
  font-family: Arial, sans-serif;
  justify-content: center;
  position: absolute;
}

.wright-lightbox__close {
  font-size: 38px;
  height: 48px;
  right: 14px;
  top: 8px;
  width: 48px;
}

.wright-lightbox__previous,
.wright-lightbox__next {
  font-size: 52px;
  height: 72px;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
}

.wright-lightbox__previous { left: 8px; }
.wright-lightbox__next { right: 8px; }

@media (max-width: 600px) {
  .elementor-location-footer .ekit_social_media {
    flex-wrap: wrap;
    max-width: 130px;
  }

  .wright-lightbox {
    padding: 52px 18px;
  }

  .wright-lightbox__previous,
  .wright-lightbox__next {
    bottom: 4px;
    font-size: 42px;
    top: auto;
    transform: none;
  }

  .elementor-element-565224d .elementor-post__thumbnail {
    height: 210px !important;
  }
}