.elementor-1515 .elementor-element.elementor-element-4fc7498{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:32px 0px;--row-gap:32px;--column-gap:0px;--overlay-opacity:0.92;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:200px;--padding-bottom:46px;--padding-left:40px;--padding-right:40px;}.elementor-1515 .elementor-element.elementor-element-4fc7498:not(.elementor-motion-effects-element-type-background), .elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor2 );background-image:url("https://hein.ca/wp-content/uploads/2026/08/20210527-Prescott-Russell-15-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1515 .elementor-element.elementor-element-4fc7498::before, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-background-video-container::before, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .e-con-inner > .elementor-background-video-container::before, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-background-slideshow::before, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-astglobalcolor2 );--background-overlay:'';}.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape-bottom svg, .elementor-1515 .elementor-element.elementor-element-4fc7498 > .e-con-inner > .elementor-shape-bottom svg{width:calc(0 + 1.3px);height:4em;}.elementor-1515 .elementor-element.elementor-element-b9da444{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-b46ddd0 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1515 .elementor-element.elementor-element-b46ddd0{text-align:center;font-family:"Michroma", Sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:1.9px;word-spacing:7px;color:#FFFFFF;}.elementor-1515 .elementor-element.elementor-element-b46ddd0 p{margin-block-end:0px;}.elementor-1515 .elementor-element.elementor-element-ba8e50e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:110px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-4df2f69 > .elementor-widget-container{padding:8px 8px 8px 8px;border-radius:24px 24px 24px 24px;box-shadow:0px 0px 10px -3px rgba(0,0,0,0.5);}.elementor-1515 .elementor-element.elementor-element-9a16759{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--margin-top:24px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-d1fa138{--display:flex;--justify-content:space-between;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-b83575f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-f050e1e{--display:flex;--justify-content:space-between;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-ae7a28e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-d0c1e9c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1515 .elementor-element.elementor-element-e7101e9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1515 .elementor-element.elementor-element-ba8e50e{--content-width:80vw;}.elementor-1515 .elementor-element.elementor-element-d1fa138{--width:50%;}.elementor-1515 .elementor-element.elementor-element-f050e1e{--width:50%;}.elementor-1515 .elementor-element.elementor-element-d0c1e9c{--width:50%;}}@media(max-width:1024px){.elementor-1515 .elementor-element.elementor-element-4fc7498{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:110px;--padding-bottom:110px;--padding-left:32px;--padding-right:32px;}}@media(max-width:767px){.elementor-1515 .elementor-element.elementor-element-4fc7498{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:24px;--padding-right:24px;}}/* Start custom CSS for text-editor, class: .elementor-element-b46ddd0 *//* Makes the liquid glass background hug the project title instead of stretching wide */
.elementor-1515 .elementor-element.elementor-element-b46ddd0 {
  width: fit-content !important;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  align-self: center;
}

/* Makes the glass effect area size to the text */
.elementor-1515 .elementor-element.elementor-element-b46ddd0 > .elementor-widget-container {
  width: fit-content !important;
  max-width: 100%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 24px !important;
}

/* Removes extra paragraph spacing from the Text Editor widget */
.elementor-1515 .elementor-element.elementor-element-b46ddd0 p {
  margin: 0;
}

/* Keeps the title on one line on desktop */
.elementor-1515 .elementor-element.elementor-element-b46ddd0 .elementor-widget-container,
.elementor-1515 .elementor-element.elementor-element-b46ddd0 .elementor-text-editor,
.elementor-1515 .elementor-element.elementor-element-b46ddd0 p {
  white-space: nowrap;
}

/* Allows the title to wrap nicely on mobile */
@media (max-width: 767px) {
  .elementor-1515 .elementor-element.elementor-element-b46ddd0 {
    max-width: 92%;
  }

  .elementor-1515 .elementor-element.elementor-element-b46ddd0 .elementor-widget-container,
  .elementor-1515 .elementor-element.elementor-element-b46ddd0 .elementor-text-editor,
  .elementor-1515 .elementor-element.elementor-element-b46ddd0 p {
    white-space: normal;
    text-align: center;
  }
}





/* Project hero title shadow, matching the project card treatment */
.elementor-1515 .elementor-element.elementor-element-b46ddd0 p {
  margin: 0;
  color: #ffffff;
  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.65),
    0 4px 12px rgba(0, 0, 0, 0.45);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4fc7498 *//* =========================================================
   HEIN INNER-PAGE HERO GRADIENT
   RESPONSIVE SHAPE-DIVIDER SAFE VERSION

   Apply directly to the outermost hero container.

   IMPORTANT:
   Background image positioning, sizing, repeat and attachment
   are intentionally NOT controlled here.

   Elementor remains fully responsible for:
   - Background Position
   - Background Size
   - Background Repeat
   - Background Attachment
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  /* Desktop curve depth */
  --hein-hero-curve-height: 58px;

  /* Match the white section below */
  --hein-hero-divider-fill: #ffffff;
}


/* =========================================================
   ELEMENTOR BACKGROUND OVERLAY
   ========================================================= */

/*
   Disable Elementor's native overlay only.

   This does NOT affect Elementor's actual background image,
   background position or background sizing.
*/
.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-background-overlay {
  display: none !important;
}


/* =========================================================
   HEIN BLUE GRADIENT
   ========================================================= */

/*
   The gradient exists on a separate pseudo-element.

   No background image positioning rules are applied to
   the main Elementor container.
*/

.elementor-1515 .elementor-element.elementor-element-4fc7498::before {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(0, 23, 42, 0.94) 0%,
      rgba(0, 48, 87, 0.86) 45%,
      rgba(51, 91, 141, 0.68) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0, 31, 56, 0.08) 0%,
      rgba(0, 31, 56, 0.26) 100%
    );
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .e-con-inner {
  position: relative;
  z-index: 2;
}


.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-element:not(.elementor-shape):not(.elementor-background-overlay) {
  position: relative;
  z-index: 2;
}


/* =========================================================
   SHAPE DIVIDER

   Controls the curve depth at each breakpoint so the
   divider does not become overly dramatic on tablet
   and mobile.
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape {
  position: absolute !important;

  left: 0 !important;

  z-index: 4 !important;

  display: block !important;

  width: 100% !important;

  height:
    var(--hein-hero-curve-height) !important;

  max-height:
    var(--hein-hero-curve-height) !important;

  overflow: hidden !important;

  pointer-events: none;

  line-height: 0;
}


/* =========================================================
   TOP DIVIDER
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape-top {
  top: -1px !important;
  bottom: auto !important;
}


/* =========================================================
   BOTTOM DIVIDER
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape-bottom {
  top: auto !important;
  bottom: -1px !important;
}


/* =========================================================
   DIVIDER SVG

   Forces the SVG to fill the controlled divider height
   without changing the overall hero height.
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape svg {
  position: relative;

  display: block;

  width:
    calc(100% + 2px) !important;

  min-width:
    calc(100% + 2px) !important;

  height:
    100% !important;

  max-height:
    100% !important;

  left: 50%;

  transform:
    translateX(-50%);
}


/* =========================================================
   DIVIDER FILL
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-4fc7498 > .elementor-shape .elementor-shape-fill {
  fill:
    var(--hein-hero-divider-fill) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .elementor-1515 .elementor-element.elementor-element-4fc7498 {
    --hein-hero-curve-height: 44px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .elementor-1515 .elementor-element.elementor-element-4fc7498 {
    --hein-hero-curve-height: 30px;
  }


  .elementor-1515 .elementor-element.elementor-element-4fc7498::before {
    background:
      linear-gradient(
        90deg,
        rgba(0, 23, 42, 0.92) 0%,
        rgba(0, 48, 87, 0.86) 57%,
        rgba(43, 84, 132, 0.74) 100%
      ),
      linear-gradient(
        180deg,
        rgba(0, 31, 56, 0.08) 0%,
        rgba(0, 31, 56, 0.28) 100%
      );
  }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

  .elementor-1515 .elementor-element.elementor-element-4fc7498 {
    --hein-hero-curve-height: 28px;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9a16759 *//* =========================================================
   HEIN TENDER SUPPORT CARDS
   ---------------------------------------------------------
   Apply this complete stylesheet to the outer Elementor
   container with the CSS class:

   hein-tender-support-grid

   Required structure:

   .hein-tender-support-grid
     ├── .hein-tender-support-card
     │   ├── .hein-tender-support-copy
     │   └── .hein-tender-support-button
     └── .hein-tender-support-card
         ├── .hein-tender-support-copy
         └── .hein-tender-support-button

   RESPONSIVE VISIBILITY
   ---------------------------------------------------------
   Duplicated Public Plan Room cards may BOTH use:

   hein-tender-support-card
   hein-tender-plan-room-card

   Use Elementor Responsive settings to determine which
   duplicate is visible:

   Desktop / Tablet version:
   - Hide on Mobile

   Mobile version:
   - Hide on Desktop
   - Hide on Tablet

   The CSS at the bottom ensures those visibility controls
   override this component's layout styling.
   ========================================================= */


/* =========================================================
   1. LOCAL DESIGN TOKENS AND OUTER GRID
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 {
  --hein-blue: #003057;
  --hein-blue-dark: #001f38;
  --hein-blue-deep: #00172a;
  --hein-blue-soft: #184e77;
  --hein-orange: #f58220;

  --hein-white: #ffffff;
  --hein-page-background: #f7f9fb;

  --hein-text: #263746;
  --hein-text-muted: #526574;

  --hein-light-border:
    rgba(0, 48, 87, 0.14);

  --hein-dark-border:
    rgba(255, 255, 255, 0.15);

  position: relative;

  display: grid !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  align-items: stretch;

  gap: 24px !important;

  align-self: stretch;
  justify-self: stretch;

  margin:
    24px
    0
    0 !important;

  padding: 0 !important;

  background: transparent !important;
}


/* Use predictable sizing throughout this component */

.elementor-1515 .elementor-element.elementor-element-9a16759,
.elementor-1515 .elementor-element.elementor-element-9a16759 *,
.elementor-1515 .elementor-element.elementor-element-9a16759 *::before,
.elementor-1515 .elementor-element.elementor-element-9a16759 *::after {
  box-sizing: border-box;
}


/* Remove Elementor's default widget bottom spacing */

.elementor-1515 .elementor-element.elementor-element-9a16759 .elementor-widget {
  margin-block-end: 0;
}


/* =========================================================
   2. ELEMENTOR INNER-WRAPPER COMPATIBILITY
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 > .e-con-inner {
  display: grid !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 0;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  align-items: stretch;

  gap: 24px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   3. SHARED CARD STRUCTURE
   Class: hein-tender-support-card

   IMPORTANT:
   display:flex intentionally does NOT use !important.

   This allows Elementor's responsive visibility controls
   to change the card to display:none when required.
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card {
  position: relative;
  isolation: isolate;

  display: flex;

  width: 100% !important;
  min-width: 0;
  min-height: 245px;

  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;

  gap: 24px !important;

  margin: 0 !important;

  padding:
    30px
    30px !important;

  overflow: hidden;

  border-radius: 10px;

  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}


/* Orange construction detail across the top of each card */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card::before {
  content: "";

  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;

  width: 210px;
  height: 3px;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      var(--hein-orange) 0%,
      var(--hein-orange) 58%,
      rgba(245, 130, 32, 0.22) 86%,
      transparent 100%
    );
}


/* Keep actual card content above decorative layers */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card > * {
  position: relative;
  z-index: 1;
}


/* Card inner-wrapper compatibility */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-card
  > .e-con-inner {
  display: flex;

  width: 100% !important;
  max-width: none !important;
  min-height: 100%;

  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;

  gap: 24px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   4. PUBLIC PLAN ROOM CARD
   Class: hein-tender-plan-room-card
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-plan-room-card {
  color: var(--hein-white);

  background-image:
    linear-gradient(
      rgba(255, 255, 255, 0.045) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.045) 1px,
      transparent 1px
    ),
    linear-gradient(
      rgba(245, 130, 32, 0.065) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(245, 130, 32, 0.065) 1px,
      transparent 1px
    ),
    linear-gradient(
      135deg,
      var(--hein-blue-deep) 0%,
      var(--hein-blue) 62%,
      var(--hein-blue-soft) 100%
    ) !important;

  background-size:
    32px 32px,
    32px 32px,
    128px 128px,
    128px 128px,
    cover !important;

  background-position:
    0 0,
    0 0,
    0 0,
    0 0,
    center center !important;

  background-repeat:
    repeat,
    repeat,
    repeat,
    repeat,
    no-repeat !important;

  border:
    1px solid
    var(--hein-dark-border);

  box-shadow:
    0 14px 34px
    rgba(0, 23, 42, 0.16);
}


/* =========================================================
   5. TENDER ASSISTANCE CARD
   Class: hein-tender-help-card
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-help-card {
  color: var(--hein-text);

  background-image:
    linear-gradient(
      rgba(0, 48, 87, 0.035) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(0, 48, 87, 0.035) 1px,
      transparent 1px
    ),
    linear-gradient(
      135deg,
      var(--hein-white) 0%,
      var(--hein-page-background) 100%
    ) !important;

  background-size:
    32px 32px,
    32px 32px,
    cover !important;

  background-position:
    0 0,
    0 0,
    center center !important;

  background-repeat:
    repeat,
    repeat,
    no-repeat !important;

  border:
    1px solid
    var(--hein-light-border);

  box-shadow:
    0 14px 34px
    rgba(0, 23, 42, 0.08);
}


/* Restrained pointer response */

@media (hover: hover) and (pointer: fine) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card:hover {
    transform: translateY(-2px);
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-plan-room-card:hover {
    border-color:
      rgba(245, 130, 32, 0.42);

    box-shadow:
      0 17px 40px
      rgba(0, 23, 42, 0.21);
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-help-card:hover {
    border-color:
      rgba(0, 48, 87, 0.26);

    box-shadow:
      0 17px 40px
      rgba(0, 23, 42, 0.11);
  }

}


/* =========================================================
   6. COPY CONTAINERS
   Class: hein-tender-support-copy
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-copy {
  display: flex;

  width: 100% !important;
  min-width: 0;

  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* Nested-container compatibility */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-copy
  > .e-con-inner {
  display: flex;

  width: 100% !important;
  max-width: none !important;

  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;

  gap: 8px !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   7. COPY WIDGET RESET
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-eyebrow,
.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-heading,
.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-eyebrow
  > .elementor-widget-container,
.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-heading
  > .elementor-widget-container,
.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-text
  > .elementor-widget-container {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   8. EYEBROWS
   Class: hein-tender-support-eyebrow
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-eyebrow
  .elementor-heading-title {
  display: flex;

  align-items: center;
  gap: 9px;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--hein-orange) !important;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
}


/* Short orange line beside each eyebrow */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-eyebrow
  .elementor-heading-title::before {
  content: "";

  display: block;

  width: 20px;
  height: 2px;
  flex: 0 0 20px;

  background: var(--hein-orange);
}


/* =========================================================
   9. HEADINGS
   Class: hein-tender-support-heading
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-heading
  .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;

  font-family:
    "Aller",
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.2px !important;
  text-transform: none !important;
}


/* Card-specific heading colours */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-plan-room-card
  .hein-tender-support-heading
  .elementor-heading-title {
  color: var(--hein-white) !important;
}


.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-help-card
  .hein-tender-support-heading
  .elementor-heading-title {
  color: var(--hein-blue) !important;
}


/* =========================================================
   10. SUPPORTING TEXT
   Class: hein-tender-support-text
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text,
.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text p {
  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}


.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text p {
  margin: 0 !important;
  padding: 0 !important;
}


/* Primary-card body colour */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-plan-room-card
  .hein-tender-support-text,
.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-plan-room-card
  .hein-tender-support-text p {
  color:
    rgba(255, 255, 255, 0.82) !important;
}


/* Secondary-card body colour */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-help-card
  .hein-tender-support-text,
.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-help-card
  .hein-tender-support-text p {
  color:
    var(--hein-text-muted) !important;
}


/* =========================================================
   11. BUTTON WIDGETS
   Class: hein-tender-support-button
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-button {
  width: auto !important;

  align-self: flex-start;

  margin: 0 !important;
  padding: 0 !important;
}


.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-button
  > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}


.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-button
  .elementor-button-wrapper {
  display: flex;

  width: auto;

  align-items: center;
  justify-content: flex-start;

  margin: 0;
  padding: 0;
}


/* =========================================================
   12. SHARED BUTTON APPEARANCE
   ========================================================= */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-button
  .elementor-button {
  display: inline-flex;

  width: auto;
  min-height: 48px;

  align-items: center;
  justify-content: center;

  gap: 8px;

  padding:
    14px
    21px;

  border-radius: 7px;

  font-family:
    "Open Sans",
    Arial,
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.55px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;

  transition:
    color 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}


/* Public-plan-room primary button */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-plan-room-card
  .hein-tender-support-button
  .elementor-button {
  color: var(--hein-blue-deep) !important;
  background: var(--hein-orange) !important;

  border:
    1px solid
    var(--hein-orange) !important;

  box-shadow:
    0 8px 18px
    rgba(0, 23, 42, 0.2);
}


/* Tender-assistance secondary button */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-help-card
  .hein-tender-support-button
  .elementor-button {
  color: var(--hein-white) !important;
  background: var(--hein-blue) !important;

  border:
    1px solid
    var(--hein-blue) !important;

  box-shadow: none;
}


/* Pointer hover */

@media (hover: hover) and (pointer: fine) {

  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-plan-room-card
    .hein-tender-support-button
    .elementor-button:hover {
    color: var(--hein-blue) !important;
    background: var(--hein-white) !important;
    border-color: var(--hein-white) !important;

    transform: translateY(-1px);
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-help-card
    .hein-tender-support-button
    .elementor-button:hover {
    color: var(--hein-blue-deep) !important;
    background: var(--hein-orange) !important;
    border-color: var(--hein-orange) !important;

    transform: translateY(-1px);
  }

}


/* Visible keyboard focus */

.elementor-1515 .elementor-element.elementor-element-9a16759
  .hein-tender-support-button
  .elementor-button:focus-visible {
  outline:
    3px solid
    rgba(245, 130, 32, 0.58);

  outline-offset: 4px;
}


/* =========================================================
   13. TABLET
   ========================================================= */

@media (max-width: 1024px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759,
  .elementor-1515 .elementor-element.elementor-element-9a16759 > .e-con-inner {
    gap: 20px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card {
    padding:
      27px
      25px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-heading
    .elementor-heading-title {
    font-size: 22px !important;
  }

}


/* =========================================================
   14. MOBILE
   ========================================================= */

@media (max-width: 767px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759,
  .elementor-1515 .elementor-element.elementor-element-9a16759 > .e-con-inner {
    grid-template-columns:
      minmax(0, 1fr);

    gap: 18px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 {
    margin-top: 18px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card {
    min-height: 0;

    padding:
      24px
      20px !important;

    border-radius: 9px;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-heading
    .elementor-heading-title {
    font-size: 21px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text,
  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-text p {
    font-size: 14px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-button,
  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-button
    .elementor-button-wrapper,
  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-button
    .elementor-button {
    width: 100% !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-button
    .elementor-button {
    justify-content: center;
  }

}


/* =========================================================
   15. SMALL MOBILE
   ========================================================= */

@media (max-width: 420px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card {
    padding:
      22px
      18px !important;
  }


  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-heading
    .elementor-heading-title {
    font-size: 20px !important;
  }

}


/* =========================================================
   16. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .hein-tender-support-card,
  .elementor-1515 .elementor-element.elementor-element-9a16759
    .hein-tender-support-button
    .elementor-button {
    transition: none !important;
    transform: none !important;
  }

}


/* =========================================================
   17. ELEMENTOR RESPONSIVE VISIBILITY SAFEGUARD
   ---------------------------------------------------------
   KEEP THIS SECTION AT THE VERY BOTTOM.

   These .elementor-1515 .elementor-element.elementor-element-9a16759s are deliberately scoped to this component
   and more specific than the shared card layout above.

   This allows BOTH duplicated Public Plan Room cards to use
   the exact same HEIN classes while Elementor's responsive
   visibility settings determine which copy appears.
   ========================================================= */


/* Desktop
   Elementor: Hide on Desktop */

@media (min-width: 1025px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .elementor-hidden-desktop {
    display: none !important;
  }

}


/* Tablet
   Elementor: Hide on Tablet */

@media (min-width: 768px) and (max-width: 1024px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .elementor-hidden-tablet {
    display: none !important;
  }

}


/* Mobile
   Elementor: Hide on Mobile */

@media (max-width: 767px) {

  .elementor-1515 .elementor-element.elementor-element-9a16759 .elementor-hidden-mobile {
    display: none !important;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ba8e50e *//* =========================================================
   HEIN TENDERS
   BUILDCONNECTED PUBLIC PLAN ROOM

   Elementor structure:

   Portal
   Class: hein-tenders-portal

   ├── HTML
   │   Class: hein-tenders-embed
   │   └── BuildConnected iframe
   │
   └── Tender Support Grid

   IMPORTANT:
   Elementor responsive visibility controls remain authoritative.
   Do not force display values with !important on containers.
   ========================================================= */


/* =========================================================
   PORTAL MASTER CONTAINER
   ========================================================= */

.hein-tenders-portal {
    position: relative;

    width: 100% !important;
    max-width: 1200px !important;

    min-width: 0;
    min-height: 0 !important;

    margin:
        0 auto !important;

    /* Reduced vertical padding by 1/3 */
    padding:
        32px 24px !important;

    box-sizing:
        border-box;

    display:
        flex;

    flex-direction:
        column;

    flex-wrap:
        nowrap;

    justify-content:
        flex-start;

    align-items:
        stretch;

    gap:
        48px;

    overflow:
        visible;
}


/* =========================================================
   DIRECT ELEMENTOR CHILDREN
   ========================================================= */

.hein-tenders-portal > .elementor-element {
    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;
}


/* =========================================================
   EMBED WIDGET
   Class: hein-tenders-embed
   ========================================================= */

.hein-tenders-embed {
    position: relative;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        hidden;

    background:
        #ffffff;

    border:
        1px solid rgba(0, 48, 87, 0.10);

    border-radius:
        16px;

    box-shadow:
        0 14px 38px rgba(0, 48, 87, 0.08);
}


/* =========================================================
   ELEMENTOR HTML WIDGET CONTAINER
   ========================================================= */

.hein-tenders-embed > .elementor-widget-container {
    position: relative;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        hidden;

    border-radius:
        inherit;
}


/* =========================================================
   BUILDCONNECTED IFRAME
   ========================================================= */

.hein-tenders-embed iframe {
    display:
        block;

    width:
        100% !important;

    max-width:
        100% !important;

    min-width:
        0 !important;

    height:
        720px !important;

    min-height:
        720px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    background:
        #ffffff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .hein-tenders-portal {
        max-width:
            100% !important;

        /* Reduced vertical padding by 1/3 */
        padding:
            26.67px 32px !important;

        gap:
            40px;
    }


    .hein-tenders-embed {
        border-radius:
            14px;
    }


    .hein-tenders-embed iframe {
        height:
            680px !important;

        min-height:
            680px !important;
    }

}


/* =========================================================
   MOBILE

   These styles remain here in case the embed is ever
   re-enabled on mobile. Elementor can still hide the
   entire Portal container through Responsive settings.
   ========================================================= */

@media (max-width: 767px) {

    .hein-tenders-portal {
        /* Reduced vertical padding by 1/3 */
        padding:
            18.67px 20px !important;

        gap:
            34px;
    }


    .hein-tenders-embed {
        border-radius:
            12px;
    }


    .hein-tenders-embed iframe {
        width:
            100% !important;

        max-width:
            100% !important;

        height:
            620px !important;

        min-height:
            620px !important;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .hein-tenders-portal {
        padding-left:
            16px !important;

        padding-right:
            16px !important;
    }


    .hein-tenders-embed {
        border-radius:
            10px;
    }


    .hein-tenders-embed iframe {
        height:
            600px !important;

        min-height:
            600px !important;
    }

}


/* =========================================================
   ELEMENTOR RESPONSIVE VISIBILITY SAFEGUARD

   This section should remain at the BOTTOM of the CSS.

   It ensures custom HEIN styling cannot accidentally
   override Elementor's:

   - Hide on Desktop
   - Hide on Tablet
   - Hide on Mobile

   controls.
   ========================================================= */


/* Desktop */
@media (min-width: 1025px) {

    .elementor-hidden-desktop {
        display:
            none !important;
    }

}


/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-hidden-tablet {
        display:
            none !important;
    }

}


/* Mobile */
@media (max-width: 767px) {

    .elementor-hidden-mobile {
        display:
            none !important;
    }

}/* End custom CSS */