/*
 * Parity repairs: what widget settings cannot express.
 * Loaded last (priority 20) so it can correct both the replayed Astra shell and
 * Elementor's generated CSS. Kept deliberately small — layout truth belongs in
 * the widget settings derived from the reference's computed styles.
 */

/* The reference's home sections are full-bleed (alignfull) while its inner pages
   sit inside Astra's container. The converter marks each top-level section whose
   captured width spanned the viewport, so only those escape the container. */
.entry-content > .elementor > .e-con.db-fullbleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* Images and media inside the replayed content must never exceed their column. */
.entry-content img { max-width: 100%; height: auto; }

/* Elementor image widgets default to their natural width; the converter sets 100%
   per widget, and this keeps nested cases honest too. */
.elementor-widget-image .elementor-image img { width: 100%; height: auto; }

/* Cropped image ratios, taken from the box each image occupied in the reference.
   Replaying a photo's natural ratio makes cards taller than the original. */
.db-ar-1-1 img  { aspect-ratio: 1 / 1;  object-fit: cover; }
.db-ar-4-3 img  { aspect-ratio: 4 / 3;  object-fit: cover; }
.db-ar-3-2 img  { aspect-ratio: 3 / 2;  object-fit: cover; }
.db-ar-16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.db-ar-21-9 img { aspect-ratio: 21 / 9; object-fit: cover; }

/* Gallery thumbnails are square tiles in the reference: the Spectra grid crops
   them with object-fit, so a natural-ratio image would halve the row height. */
.db-gal-tile img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Lists inside text widgets: keep the theme's item spacing (the reference's own
   list rows are looser than a zero-margin reset), but drop the paragraph margin
   that Text Editor adds, which is what pushed the 5-item cards past the original. */
.page-id-9 .entry-content .elementor-widget-text-editor ul,
.page-id-9 .entry-content .elementor-widget-text-editor ol { margin: 0; padding-left: 1.35em; }
.page-id-9 .entry-content .elementor-widget-text-editor p { margin: 0; }

/* Elementor mixes the kit's default widget spacing into every element margin:
   `margin: calc(var(--kit-widget-spacing, 0px) + 20px)`. Setting the kit option
   to 0 is treated as empty and falls back to 20px, so neutralise the variable for
   the replayed content instead — otherwise every gap is 20px too large. */
.entry-content { --kit-widget-spacing: 0px; }
.entry-content .elementor-element,
.entry-content .elementor-widget { --kit-widget-spacing: 0px !important; }

/* CF7 defaults give a 266px message box; the reference's form is 563px tall with a
   ~186px box, and the two form pages are the only ones still off by >5%. */
.entry-content .wpcf7-form textarea {
  height: 186px;
  min-height: 186px;
}
.entry-content .wpcf7-form p {
  margin: 0 0 18px;
}
/* On the contact page the reference's form box ends at the submit row, so the
   last row's bottom margin must not add 18px. how-to-order needs it (its form sits
   inside a taller column), hence the page scope. */
body.page-id-108 .entry-content .wpcf7-form p:last-of-type {
  margin-bottom: 0;
}

/* The embedded Google map is inline by default, so its baseline gap adds ~8px that
   the reference does not have. Scoped to the map: the job-board iframe on
   employment already matches with the default inline behaviour. */
.entry-content iframe[src*="maps.google"] {
  display: block;
}

/* Keep Astra's container gutters intact: they are what holds inner pages at the
   reference's 866px content width. Full-bleed sections escape via their own rule. */

/* A text widget's trailing margin never spaces anything: the reference's block ends
   at its content box, while inside Elementor it adds 20px to the container (the
   company page's article list was the last page carrying that offset). */
.entry-content .elementor-widget-text-editor > *:last-child {
  margin-bottom: 0;
}
/* The company page's article list is a WP post template. Each item's h3 carries a
   20px bottom margin; the last item's margin escapes the <ul> and lands on the
   widget, adding 20px that the reference's block does not have. The reference's
   list is 111px = 3 x 24px items + 2 x 19.5px gaps. */
.entry-content .elementor-widget-text-editor .wp-block-post-template > li > h3 {
  margin-bottom: 19.5px;
}
.entry-content .elementor-widget-text-editor .wp-block-post-template > li:last-child > h3 {
  margin-bottom: 0;
}

/* Desktop typography and hero geometry measured against flowlinefittings.com. */
.page-id-9 .elementor-element-00c80f1 {
  display: none !important;
}
.page-id-9 .elementor-element-004adfc {
  display: none !important;
}
.page-id-9 .elementor-element-00dbda0 {
  background-image: linear-gradient(90deg, rgba(239, 65, 54, 0.86), rgba(239, 65, 54, 0.86)), url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2306543537-1200x800.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.page-id-9 .elementor-element-8350e4e {
  background-image: linear-gradient(90deg, rgba(210, 48, 36, 0.88), rgba(210, 48, 36, 0.88)), url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2306543537-1200x800.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-00dbda0 {
  background-image: linear-gradient(90deg, rgba(239, 65, 54, 0.86), rgba(239, 65, 54, 0.86)), url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2306543537-1200x800.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-8350e4e {
  background-image: linear-gradient(90deg, rgba(210, 48, 36, 0.88), rgba(210, 48, 36, 0.88)), url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2306543537-1200x800.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

@media (min-width: 1025px) {
  .entry-content .elementor-widget-heading .elementor-heading-title:is(h1) {
    font-size: 36px !important;
    line-height: 1.4 !important;
  }
  .entry-content .elementor-widget-heading .elementor-heading-title:is(h2) {
    font-size: 30px !important;
    line-height: 1.3 !important;
  }
  .entry-content .elementor-widget-heading .elementor-heading-title:is(h3) {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  .page-id-9 .elementor-element-0054761 {
    padding-left: 51px !important;
    padding-right: 51px !important;
    position: relative;
    isolation: isolate;
  }
  .page-id-9 .elementor-element-0054761::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(49deg, #000 0%, rgba(0, 0, 0, 0.47) 49%, transparent 72%);
  }
  .page-id-9 .elementor-element-0054761 > * {
    position: relative;
    z-index: 1;
  }
  .page-id-9 .elementor-element-00889fe {
    flex-wrap: nowrap !important;
    gap: 24px !important;
  }
  .page-id-9 .elementor-element-04dd2e9,
  .page-id-9 .elementor-element-0c2a118 {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .page-id-9 .elementor-element-00502a2 .elementor-button,
  .page-id-9 .elementor-element-08072e3 .elementor-button {
    font-size: 16px !important;
    line-height: 16px !important;
  }
  .page-id-9 .elementor-element-00dc4c7 a {
    color: #fff !important;
  }
  body.page-id-9 .elementor-element-0048356 h2.elementor-heading-title,
  body.page-id-9 .elementor-element-0073dad h2.elementor-heading-title,
  body.page-id-9 .elementor-element-047c97f h2.elementor-heading-title,
  body.page-id-9 .elementor-element-005c737 h2.elementor-heading-title,
  body.page-id-9 .elementor-element-00d28b4 h2.elementor-heading-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .page-id-9 .elementor-element-00d58b1,
  .page-id-9 .elementor-element-00d58b1 p {
    font-size: 17px !important;
    line-height: 28.05px !important;
  }
}

@media (max-width: 767px) {
  .page-id-9 .elementor-element-0054761 {
    padding-left: 23.3px !important;
    padding-right: 23.3px !important;
    position: relative;
    isolation: isolate;
  }
  .page-id-9 .elementor-element-0054761::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(49deg, #000 0%, rgba(0, 0, 0, 0.47) 49%, transparent 72%);
  }
  .page-id-9 .elementor-element-0054761 > * {
    position: relative;
    z-index: 1;
  }
}

/* The reference company page uses Astra's 840px primary column with 60px right
   gutter; reproduce its 780px text measure while keeping the banner full width. */
@media (min-width: 1025px) {
  body.page-id-107 #primary.content-area.primary {
    flex: 0 0 840px !important;
    width: 840px !important;
    max-width: 840px !important;
    padding-right: 60px !important;
    box-sizing: border-box !important;
  }
  body.page-id-107 #primary .entry-content,
  body.page-id-107 #primary .elementor.elementor-107 {
    width: 780px !important;
    max-width: 780px !important;
  }
}

/* Match the reference company page's main-column start and copy scale. */
@media (min-width: 1025px) {
  body.page-id-107 #primary.content-area.primary {
    margin-top: 68px !important;
  }
  body.page-id-107 #primary .elementor-widget-text-editor,
  body.page-id-107 #primary .elementor-widget-text-editor p,
  body.page-id-107 #primary .elementor-widget-text-editor li,
  body.page-id-107 #primary .elementor-widget-text-editor ul,
  body.page-id-107 #primary .elementor-widget-text-editor ol {
    font-size: 17px !important;
    line-height: 28.05px !important;
  }
}

/* Match the reference homepage's company introduction block. */
@media (min-width: 1025px) {
  body.page-id-9.elementor-page-9 .elementor-element-00e413c {
    margin-top: 165px !important;
    min-height: 1003px !important;
    background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/ALB_9632.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-04bdc64 {
    width: calc(100% - 50px) !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-046c329 {
    flex: 0 0 48.333333% !important;
    width: 48.333333% !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-00b3d35 {
    flex: 0 0 50% !important;
    width: 50% !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-046c329 .elementor-widget-text-editor,
  body.page-id-9.elementor-page-9 .elementor-element-046c329 .elementor-widget-text-editor p,
  body.page-id-9.elementor-page-9 .elementor-element-046c329 .elementor-widget-text-editor li {
    font-size: 17px !important;
    line-height: 28.05px !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-00b139f .elementor-widget-image-carousel {
    max-width: 540px !important;
  }
  body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-slide {
    aspect-ratio: 1 / 1;
  }
  body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
  }
}
body.page-id-9.elementor-page-9 .elementor-element-0001da6 {
  display: none !important;
}
body.page-id-9.elementor-page-9 .elementor-element-00b139f {
  width: 100% !important;
  min-height: 0 !important;
  background: transparent !important;
}
body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-pagination {
  position: relative !important;
  bottom: auto !important;
  margin-top: 12px;
}
body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #ef4136;
  opacity: 0.35;
}
body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-pagination-bullet-active {
  opacity: 1;
}
@media (max-width: 767px) {
  body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-slide {
    aspect-ratio: 1 / 1;
  }
  body.page-id-9.elementor-page-9 .elementor-element-00b139f .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
  }
}

/* Elementor's page CSS declares an empty background with higher specificity. */
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-00e413c {
  background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/ALB_9632.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-00e413c {
  position: relative !important;
  isolation: isolate;
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-00e413c::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.91);
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element.elementor-element-00e413c > .elementor-element-00a9f46 {
  position: relative;
  z-index: 1;
}

/* Restore the reference photo banners across the cloned inner pages. */
body.page-id-254 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/ALB_9557.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-252 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2296364545-scaled.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-107 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/8_Flowline_pipe_fitting_manufacturing_plant_USA.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-106 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/Furnace-1.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-155 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/Quality-Inspection-Area.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-110 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/shutterstock_2306543537-scaled.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-108 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2024/12/8_Flowline_pipe_fitting_manufacturing_plant_USA.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-251 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/ALB_9639-rotated.jpg") !important; background-size: cover !important; background-position: center center !important; }
body.page-id-789 .ast-single-entry-banner { background-image: url("https://dongbang.varlanch.com/wp-content/uploads/2025/06/Lincoln-Welder-1.jpg") !important; background-size: cover !important; background-position: center center !important; }

/* The source Customer Support page uses the right Astra sidebar for its contact card.
   Recreate that row with editable Elementor containers and widgets. */
@media (min-width: 768px) {
  body.page-id-789 #primary .entry-content .elementor-element-cs1a234 {
    width: 100% !important;
    max-width: 1200px !important;
    margin-top: 68px !important;
    margin-bottom: -21px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    min-height: 414px !important;
  }
  body.page-id-789 #primary .entry-content .elementor-element-cs2a234 {
    flex: 0 0 839px !important;
    width: 839px !important;
    min-height: 414px !important;
  }
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 {
    flex: 0 0 360px !important;
    width: 360px !important;
    min-height: 414px !important;
    box-sizing: border-box !important;
    border-left: 1px solid #d5d5d5 !important;
    padding: 0 0 0 60px !important;
  }
}
body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-widget {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs5a234,
body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs6a234 {
  margin-top: 21px !important;
}
body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs7a234 {
  margin-top: 22px !important;
}
body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs8a234 {
  margin-top: 28px !important;
}
body.page-id-789 .elementor-element-cs6a234,
body.page-id-789 .elementor-element-cs6a234 ul,
body.page-id-789 .elementor-element-cs6a234 li {
  font-size: 13px !important;
  line-height: 19.5px !important;
}
body.page-id-789 .elementor-element-cs6a234 ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-789 .elementor-element-cs6a234 li { margin: 0 0 9.75px !important; }
body.page-id-789 .elementor-element-cs6a234 li:last-child { margin-bottom: 0 !important; }
body.page-id-789 .elementor-element-cs7a234 h2 {
  margin: 0 !important;
  color: #ef4136 !important;
  font-size: 28.9px !important;
  line-height: 37.57px !important;
  font-weight: 700 !important;
}
body.page-id-789 .elementor-element-cs7a234 a,
body.page-id-789 .elementor-element-cs8a234 a {
  color: #ef4136 !important;
  text-decoration: none !important;
}
body.page-id-789 .elementor-element-cs8a234,
body.page-id-789 .elementor-element-cs8a234 p {
  margin-bottom: 0 !important;
  color: #ef4136 !important;
  font-size: 17px !important;
  line-height: 34px !important;
}
@media (max-width: 767px) {
  body.page-id-789 #primary .entry-content .elementor-element-cs1a234 {
    margin-top: 36px !important;
    margin-bottom: -21px !important;
    flex-wrap: wrap !important;
  }
  body.page-id-789 #primary .entry-content .elementor-element-cs2a234 { display: none !important; }
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 {
    flex: 0 0 100% !important;
    width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    border-left: 0 !important;
  }
}

/* The reference has no floating quote/chat overlay. */
body.page-template-tpl-clone #nbb2b-leave-message-widget {
  display: none !important;
}
body.page-id-789 .elementor-element-cs6a234,
body.page-id-789 .elementor-element-cs6a234 ul,
body.page-id-789 .elementor-element-cs6a234 li {
  color: #000 !important;
}
@media (min-width: 768px) {
  body.page-id-789 #primary .entry-content .elementor-element-cs1a234 {
    margin-bottom: 17px !important;
  }
}
@media (max-width: 767px) {
  body.page-id-789 #primary .entry-content .elementor-element-cs1a234 {
    margin-top: 124px !important;
    margin-bottom: 8.5px !important;
  }
  body.page-id-789 { padding-bottom: 0 !important; }
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 {
    min-height: 390.9px !important;
    height: auto !important;
    padding: 0 !important;
  }
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs5a234,
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs6a234,
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs7a234 {
    margin-top: 19.5px !important;
  }
  body.page-id-789 #primary .entry-content .elementor-element-cs3a234 .elementor-element-cs8a234 {
    margin-top: 26px !important;
  }
  body.page-id-789 .elementor-element-cs7a234 h2 {
    font-size: 26.3568px !important;
    line-height: 34.2638px !important;
  }
  body.page-id-789 .elementor-element-cs8a234,
  body.page-id-789 .elementor-element-cs8a234 p {
    font-size: 15.504px !important;
    line-height: 31.008px !important;
  }
}

/* Match the reference Astra primary column and Gutenberg text measure on inner pages. */
@media (min-width: 1025px) {
  body.page-id-254 #primary.content-area.primary,
  body.page-id-252 #primary.content-area.primary,
  body.page-id-106 #primary.content-area.primary,
  body.page-id-155 #primary.content-area.primary,
  body.page-id-110 #primary.content-area.primary,
  body.page-id-108 #primary.content-area.primary {
    flex: 0 0 840px !important;
    width: 840px !important;
    max-width: 840px !important;
    padding-right: 60px !important;
    margin-top: 68px !important;
    box-sizing: border-box !important;
  }
  body.page-id-254 #primary .entry-content,
  body.page-id-254 #primary .elementor.elementor-254,
  body.page-id-252 #primary .entry-content,
  body.page-id-252 #primary .elementor.elementor-252,
  body.page-id-106 #primary .entry-content,
  body.page-id-106 #primary .elementor.elementor-106,
  body.page-id-155 #primary .entry-content,
  body.page-id-155 #primary .elementor.elementor-155,
  body.page-id-110 #primary .entry-content,
  body.page-id-110 #primary .elementor.elementor-110,
  body.page-id-108 #primary .entry-content,
  body.page-id-108 #primary .elementor.elementor-108 {
    width: 780px !important;
    max-width: 780px !important;
  }
  body.page-id-254 #primary .elementor-widget-text-editor,
  body.page-id-254 #primary .elementor-widget-text-editor p,
  body.page-id-254 #primary .elementor-widget-text-editor li,
  body.page-id-252 #primary .elementor-widget-text-editor,
  body.page-id-252 #primary .elementor-widget-text-editor p,
  body.page-id-252 #primary .elementor-widget-text-editor li,
  body.page-id-106 #primary .elementor-widget-text-editor,
  body.page-id-106 #primary .elementor-widget-text-editor p,
  body.page-id-106 #primary .elementor-widget-text-editor li,
  body.page-id-155 #primary .elementor-widget-text-editor,
  body.page-id-155 #primary .elementor-widget-text-editor p,
  body.page-id-155 #primary .elementor-widget-text-editor li,
  body.page-id-110 #primary .elementor-widget-text-editor,
  body.page-id-110 #primary .elementor-widget-text-editor p,
  body.page-id-110 #primary .elementor-widget-text-editor li,
  body.page-id-108 #primary .elementor-widget-text-editor,
  body.page-id-108 #primary .elementor-widget-text-editor p,
  body.page-id-108 #primary .elementor-widget-text-editor li {
    font-size: 17px !important;
    line-height: 28.05px !important;
  }
  body.page-id-251 #primary.content-area.primary {
    margin-top: 60px !important;
  }
  body.page-id-251 #primary .elementor-widget-text-editor,
  body.page-id-251 #primary .elementor-widget-text-editor p,
  body.page-id-251 #primary .elementor-widget-text-editor li {
    font-size: 17px !important;
    line-height: 28.05px !important;
  }
}

/* The reference Products gallery is a three-column square grid with a caption
   bar over each image. Keep each caption as a native Elementor heading widget. */
@media (min-width: 768px) {
  body.page-id-254.elementor-page-254 .elementor.elementor-254 .elementor-element-004daf1 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    align-items: stretch !important;
    align-self: flex-start !important;
    width: 779px !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 42.5px !important;
    padding-top: 24.7px !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }
}
@media (max-width: 767px) {
  body.page-id-254 {
    padding-bottom: 0 !important;
  }
  body.page-id-254 #primary.content-area.primary {
    margin-top: 62.016px !important;
    margin-bottom: 491.6px !important;
  }
  body.page-id-254 #primary article.ast-article-single {
    margin-bottom: 0 !important;
  }
  body.page-id-254.elementor-page-254 .elementor.elementor-254 .elementor-element-004daf1 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2.1px 0 0 !important;
    box-sizing: border-box !important;
  }
  body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-caption .elementor-heading-title {
    font-size: 15.504px !important;
    line-height: 25.5816px !important;
  }
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .elementor-element-004daf1 > .e-con {
  position: relative !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  align-self: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-tile {
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-tile > .elementor-widget-container,
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-tile .elementor-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-tile img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-caption {
  position: absolute !important;
  z-index: 2 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  flex: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-caption .elementor-heading-title {
  margin: 0 !important;
  padding: 8px !important;
  background: rgba(0, 0, 0, 0.75) !important;
  color: #fff !important;
  font-family: Arial, Helvetica, Verdana, sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 28.05px !important;
  text-align: center !important;
}
@media (max-width: 767px) {
  body.page-id-254.elementor-page-254 .elementor.elementor-254 .db-gal-caption .elementor-heading-title {
    font-size: 15.504px !important;
    line-height: 25.5816px !important;
  }
}

/* Homepage section geometry measured against Flowline at desktop and 390px mobile. */
@media (min-width: 768px) {
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0030daf { height: 802.1px !important; min-height: 802.1px !important; margin-bottom: -65.4px !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d4e3f { min-height: 1178.2px !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dbda0 { height: 500px !important; min-height: 500px !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e { margin-top: -100px !important; margin-bottom: -24px !important; }
}
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .db-gal-caption { position: absolute !important; z-index: 2 !important; inset: auto 0 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .db-gal-caption .elementor-heading-title { margin: 0 !important; padding: 8px !important; background: rgba(0,0,0,.75) !important; color: #fff !important; font: 400 17px/28.05px Arial,Helvetica,Verdana,sans-serif !important; text-align: center !important; }
@media (max-width: 767px) {
  body.page-id-9 { padding-bottom: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0030daf { height: 1521.6px !important; min-height: 0 !important; margin-bottom: 98.8px !important; overflow: visible !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00e413c { height: 1482.6px !important; min-height: 1482.6px !important; margin-top: 0 !important; padding: 20px 0 !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00a9f46,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-04bdc64 { width: 350px !important; max-width: calc(100% - 40px) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-04bdc64 { flex-direction: column !important; flex-wrap: nowrap !important; gap: 20px !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-046c329,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00b3d35 { flex: 0 0 auto !important; width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00b139f { width: 290px !important; max-width: 100% !important; margin-left: auto !important; margin-right: auto !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00b139f .elementor-widget-image-carousel { max-width: 290px !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00b139f .swiper-slide-inner { margin: 0 !important; padding: 0 8px !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00b139f .swiper-slide-image { display: block !important; width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d4e3f { min-height: 1300.3px !important; padding: 20px !important; box-sizing: border-box !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-005358f { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; width: 100% !important; max-width: 100% !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e > .e-con { position: relative !important; width: auto !important; max-width: none !important; min-width: 0 !important; min-height: 0 !important; aspect-ratio: 1 / 1 !important; padding: 0 !important; margin: 0 !important; overflow: hidden !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .elementor-widget-image { display: block !important; flex: none !important; width: 100% !important; height: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .elementor-widget-image .elementor-widget-container,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .elementor-widget-image img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-0416a5e .db-gal-caption .elementor-heading-title { font-size: 15.504px !important; line-height: 25.5816px !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dbda0 { height: 754.7px !important; min-height: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-8350e4e { height: 800.9px !important; min-height: 800.9px !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-005b1e4 { width: 350px !important; max-width: calc(100% - 40px) !important; margin-left: auto !important; margin-right: auto !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 68px 0 !important; width: 304px !important; max-width: 100% !important; margin: 0 auto !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 > .e-con { display: flex !important; flex-direction: column !important; align-items: center !important; width: auto !important; max-width: none !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 > .e-con:last-child { grid-column: 1 / -1 !important; justify-self: center !important; width: 50% !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 .elementor-widget-image { width: 112px !important; height: 112px !important; flex: none !important; margin: 0 !important; padding: 0 !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 .elementor-widget-image .elementor-widget-container,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 .elementor-widget-image img { display: block !important; width: 112px !important; height: 112px !important; max-width: none !important; object-fit: contain !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00d3571 .elementor-widget-heading { width: 100% !important; max-width: 152px !important; margin: 12px 0 0 !important; text-align: center !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e { margin-top: -100px !important; margin-bottom: -24px !important; }
}
/* Mobile homepage fine tuning: restore full-width intro content and the reference CTA crop. */
@media (max-width: 767px) {
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00a9f46 { padding: 0 !important; justify-content: flex-start !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-04bdc64 { align-items: flex-start !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e { height: 95.5px !important; min-height: 95.5px !important; overflow: hidden !important; }
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e .elementor-widget-image,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e .elementor-widget-container,
  body.page-id-9.elementor-page-9 .elementor.elementor-9 .elementor-element-00dd86e img { display: block !important; width: 100% !important; height: 95.5px !important; max-width: none !important; object-fit: cover !important; object-position: center !important; }
}
