/* Genetco sections placed with Elementor widgets get the same frame as the built-in homepage. */
.elementor-widget[class*="elementor-widget-gc-"] > .elementor-widget-container > section,
.elementor-widget[class*="elementor-widget-gc-"] > section {
  max-width: var(--gc-wrap);
  margin-inline: auto;
  padding-inline: var(--gc-pad);
  padding-block: var(--gc-section);
}
.elementor-widget-gc-facts > .elementor-widget-container > section.reveal,
.elementor-widget-gc-facts > section.reveal {
  position: relative; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  align-items: center; gap: clamp(24px, 4vw, 64px);
}
.elementor-widget[class*="elementor-widget-gc-"] { margin-bottom: 0 !important; }

/* Elementor sets every image to height: auto; these photos fill their frames. */
.elementor .bento__cell img,
.elementor .values__media img,
.elementor .service__media img { height: 100%; }
.elementor .rail__card img { height: auto; }
.elementor .reveal__media img,
.elementor .hero__media img { height: auto; }

/* Header and footer from an Elementor Pro Theme Builder template. */
.elementor-location-header { position: sticky; top: 0; z-index: 50; }
.elementor-location-header .site-header { position: relative; top: auto; }
.admin-bar .elementor-location-header { top: 32px; }
.elementor-location-header .elementor-widget-gc-header,
.elementor-location-footer .elementor-widget-gc-footer { width: 100%; }

@media (max-width: 900px) {
  .elementor-widget-gc-facts > .elementor-widget-container > section.reveal,
  .elementor-widget-gc-facts > section.reveal { grid-template-columns: 1fr; }
}
@media (max-width: 782px) {
  .admin-bar .elementor-location-header { top: 46px; }
}
