.elementor-2898 .elementor-element.elementor-element-aa90d03{--display:flex;--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-2898 .elementor-element.elementor-element-2bedbd4{--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:45px;--padding-left:0px;--padding-right:0px;}.elementor-2898 .elementor-element.elementor-element-2bedbd4:not(.elementor-motion-effects-element-type-background), .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#003057;background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-2898 .elementor-element.elementor-element-2bedbd4::before, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-background-video-container::before, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .e-con-inner > .elementor-background-video-container::before, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-background-slideshow::before, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-astglobalcolor2 );--background-overlay:'';}.elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-shape-bottom .elementor-shape-fill, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:#FFFFFF;}.elementor-2898 .elementor-element.elementor-element-2bedbd4 > .elementor-shape-bottom svg, .elementor-2898 .elementor-element.elementor-element-2bedbd4 > .e-con-inner > .elementor-shape-bottom svg{width:calc(0 + 1.3px);height:4em;}.elementor-2898 .elementor-element.elementor-element-37fbfbd{--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-2898 .elementor-element.elementor-element-a9cb6ec > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2898 .elementor-element.elementor-element-a9cb6ec{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-2898 .elementor-element.elementor-element-a9cb6ec p{margin-block-end:0px;}.elementor-2898 .elementor-element.elementor-element-eb26157{--display:flex;--padding-top:80px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-2898 .elementor-element.elementor-element-139075f{--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;--align-items:stretch;}.elementor-2898 .elementor-element.elementor-element-b61153c{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(50px/2);}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(50px/2);}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(50px/2);}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-50px/2);}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-50px/2);}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-item:not(:last-child):after{content:"";width:100%;border-color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child):after{border-block-start-style:dotted;border-block-start-width:2px;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-style:dotted;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-inline-items .elementor-icon-list-item:not(:last-child):after{border-inline-start-width:2px;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-icon i{color:#003057;transition:color 0.3s;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-icon svg{fill:#003057;transition:fill 0.3s;}.elementor-2898 .elementor-element.elementor-element-4d70e87{--e-icon-list-icon-size:25px;--icon-vertical-offset:0px;}.elementor-2898 .elementor-element.elementor-element-4d70e87 .elementor-icon-list-text{transition:color 0.3s;}.elementor-2898 .elementor-element.elementor-element-60b2456{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2898 .elementor-element.elementor-element-60b2456:not(.elementor-motion-effects-element-type-background), .elementor-2898 .elementor-element.elementor-element-60b2456 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-size:cover;}.elementor-2898 .elementor-element.elementor-element-76e3b51{--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;--align-items:stretch;}.elementor-2898 .elementor-element.elementor-element-5fbd517{--display:flex;--justify-content:flex-start;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-2898 .elementor-element.elementor-element-0cfaecb.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-2898 .elementor-element.elementor-element-4646264{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2898 .elementor-element.elementor-element-3fbc045 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-2898 .elementor-element.elementor-element-3fbc045.elementor-element{--align-self:stretch;}.elementor-2898 .elementor-element.elementor-element-4314938{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2898 .elementor-element.elementor-element-34b5662{--display:flex;}.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button.elementor-swiper-button-next{font-size:46px;color:#FFFFFFB8;}.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button.elementor-swiper-button-prev svg, .elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button.elementor-swiper-button-next svg{fill:#FFFFFFB8;}.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:20px;--swiper-pagination-bullet-vertical-gap:20px;width:6px;height:6px;background:#EA7600;}.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background:#FFFFFFB8;opacity:1;}.elementor-2898 .elementor-element.elementor-element-ef2d04d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:25px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-2898 .elementor-element.elementor-element-b4e9b00{--display:flex;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__prev--label:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__next--label:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__prev--label{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__next--label{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__prev--title:hover, .elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__next--title:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__prev--title{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-3b69557 span.post-navigation__next--title{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-3b69557 .post-navigation__arrow-wrapper:hover{color:#EA7600;fill:#EA7600;}.elementor-2898 .elementor-element.elementor-element-3b69557 .post-navigation__arrow-wrapper{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-dfab256{--display:flex;}.elementor-2898 .elementor-element.elementor-element-222b2f8 .elementor-button{background-color:#003057;font-size:13px;fill:#FFFFFF;color:#FFFFFF;border-radius:24px 24px 24px 24px;}.elementor-2898 .elementor-element.elementor-element-222b2f8 .elementor-button:hover, .elementor-2898 .elementor-element.elementor-element-222b2f8 .elementor-button:focus{background-color:#EA7600;color:#FFFFFF;}.elementor-2898 .elementor-element.elementor-element-222b2f8 .elementor-button:hover svg, .elementor-2898 .elementor-element.elementor-element-222b2f8 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-2898 .elementor-element.elementor-element-47150f6{--display:flex;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__prev--label:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__next--label:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__prev--label{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__next--label{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__prev--label, .elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__next--label{font-family:"Open Sans", Sans-serif;font-weight:600;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__prev--title:hover, .elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__next--title:hover{color:#EA7600;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__prev--title{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-2988120 span.post-navigation__next--title{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-2988120 .post-navigation__arrow-wrapper:hover{color:#EA7600;fill:#EA7600;}.elementor-2898 .elementor-element.elementor-element-2988120 .post-navigation__arrow-wrapper{transition-duration:700ms;}.elementor-2898 .elementor-element.elementor-element-62655c7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2898 .elementor-element.elementor-element-e9ae3e5{--display:flex;}.elementor-2898 .elementor-element.elementor-element-fb4d1f7{width:100%;max-width:100%;}.elementor-2898 .elementor-element.elementor-element-fb4d1f7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body.elementor-page-2898:not(.elementor-motion-effects-element-type-background), body.elementor-page-2898 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://hein.ca/wp-content/uploads/2026/07/HEIN_BluePrint_Background_Blue-scaled-1.webp");background-size:contain;}@media(min-width:768px){.elementor-2898 .elementor-element.elementor-element-139075f{--content-width:1200px;}.elementor-2898 .elementor-element.elementor-element-b61153c{--width:33.3333%;}.elementor-2898 .elementor-element.elementor-element-60b2456{--width:66.6666%;}.elementor-2898 .elementor-element.elementor-element-76e3b51{--content-width:1200px;}.elementor-2898 .elementor-element.elementor-element-5fbd517{--width:33.3333%;}.elementor-2898 .elementor-element.elementor-element-4646264{--width:66.6666%;}.elementor-2898 .elementor-element.elementor-element-4314938{--content-width:1200px;}.elementor-2898 .elementor-element.elementor-element-34b5662{--width:1200px;}.elementor-2898 .elementor-element.elementor-element-ef2d04d{--content-width:1200px;}.elementor-2898 .elementor-element.elementor-element-b4e9b00{--width:1200px;}.elementor-2898 .elementor-element.elementor-element-dfab256{--width:1200px;}.elementor-2898 .elementor-element.elementor-element-47150f6{--width:1200px;}.elementor-2898 .elementor-element.elementor-element-62655c7{--content-width:1200px;}.elementor-2898 .elementor-element.elementor-element-e9ae3e5{--width:1200px;}}@media(max-width:1024px){.elementor-2898 .elementor-element.elementor-element-2bedbd4{--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-2898 .elementor-element.elementor-element-2bedbd4{--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-a9cb6ec *//* Makes the liquid glass background hug the project title instead of stretching wide */
.elementor-2898 .elementor-element.elementor-element-a9cb6ec {
  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-2898 .elementor-element.elementor-element-a9cb6ec > .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-2898 .elementor-element.elementor-element-a9cb6ec p {
  margin: 0;
}

/* Keeps the title on one line on desktop */
.elementor-2898 .elementor-element.elementor-element-a9cb6ec .elementor-widget-container,
.elementor-2898 .elementor-element.elementor-element-a9cb6ec .elementor-text-editor,
.elementor-2898 .elementor-element.elementor-element-a9cb6ec p {
  white-space: nowrap;
}

/* Allows the title to wrap nicely on mobile */
@media (max-width: 767px) {
  .elementor-2898 .elementor-element.elementor-element-a9cb6ec {
    max-width: 92%;
  }

  .elementor-2898 .elementor-element.elementor-element-a9cb6ec .elementor-widget-container,
  .elementor-2898 .elementor-element.elementor-element-a9cb6ec .elementor-text-editor,
  .elementor-2898 .elementor-element.elementor-element-a9cb6ec p {
    white-space: normal;
    text-align: center;
  }
}





/* Project hero title shadow, matching the project card treatment */
.elementor-2898 .elementor-element.elementor-element-a9cb6ec 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 google_maps, class: .elementor-element-0cfaecb *//* Clean project map with HEIN blue treatment */
.elementor-2898 .elementor-element.elementor-element-0cfaecb {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: none !important;
}

/* Keeps the Elementor widget container clipped cleanly */
.elementor-2898 .elementor-element.elementor-element-0cfaecb > .elementor-widget-container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

/* Google Maps iframe, visual styling only */
.elementor-2898 .elementor-element.elementor-element-0cfaecb iframe {
  display: block;
  width: 100% !important;
  border: 0;
  border-radius: 8px;

  /* Muted map base before the blue overlay */
  filter: grayscale(85%) contrast(1.08) brightness(0.96);
  transition: filter 500ms ease;
}

/* HEIN blue overlay */
.elementor-2898 .elementor-element.elementor-element-0cfaecb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 48, 87, 0.42);
  mix-blend-mode: color;
  pointer-events: none;
  z-index: 2;
  transition: opacity 500ms ease;
}

/* Softens the effect on hover */
.elementor-2898 .elementor-element.elementor-element-0cfaecb:hover iframe {
  filter: grayscale(10%) contrast(1.1) brightness(1);
}

.elementor-2898 .elementor-element.elementor-element-0cfaecb:hover::after {
  opacity: 0.45;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5fbd517 */.elementor-2898 .elementor-element.elementor-element-5fbd517 {
    position: relative;
    overflow: hidden;
    min-height: 300px;
}

.elementor-2898 .elementor-element.elementor-element-5fbd517 .elementor-widget-google_maps {
    position: absolute !important;
    inset: 10px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
}

.elementor-2898 .elementor-element.elementor-element-5fbd517 .elementor-widget-google_maps .elementor-widget-container,
.elementor-2898 .elementor-element.elementor-element-5fbd517 .elementor-widget-google_maps .elementor-custom-embed,
.elementor-2898 .elementor-element.elementor-element-5fbd517 .elementor-widget-google_maps iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: block;
}

@media (max-width: 767px) {
    .elementor-2898 .elementor-element.elementor-element-5fbd517 {
        min-height: 350px;
    }
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-d62fa76 *//* ================================
   Project Image Carousel Base
   ================================ */

/* Keeps the carousel clipped and ready for all effects */
.elementor-2898 .elementor-element.elementor-element-d62fa76 {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}

/* Ensures all effects stay inside the carousel area */
.elementor-2898 .elementor-element.elementor-element-d62fa76 > .elementor-widget-container {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
}

/* Sets the visible carousel frame height */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-wrapper {
  height: 320px !important;
}

/* Let Swiper control slide width, but keep each slide clipped */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide {
  height: 320px !important;
  position: relative;
  overflow: hidden !important;
}

/* Makes the inner image wrappers fill each slide */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide a,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide-inner,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide figure {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden !important;
  margin: 0 !important;
}

/* Forces portrait and landscape images to crop into the same slide shape */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide img,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide-image,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-image-carousel img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;

  object-fit: cover !important;
  object-position: center center !important;

  transition:
    transform 650ms ease,
    filter 650ms ease;
}


/* ================================
   Click Sweep Effect
   ================================ */

/* Creates the orange/blue sweep overlay */
.elementor-2898 .elementor-element.elementor-element-d62fa76 > .elementor-widget-container::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  pointer-events: none;
  z-index: 9;
  opacity: 0;

  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(234, 118, 0, 0.10) 35%,
    rgba(234, 118, 0, 0.36) 50%,
    rgba(0, 48, 87, 0.18) 65%,
    transparent 100%
  );
}

/* Sweep when clicking next */
.elementor-2898 .elementor-element.elementor-element-d62fa76.hein-carousel-next > .elementor-widget-container::after {
  animation: heinCarouselSweepNext 0.65s ease-out;
}

/* Sweep when clicking previous */
.elementor-2898 .elementor-element.elementor-element-d62fa76.hein-carousel-prev > .elementor-widget-container::after {
  animation: heinCarouselSweepPrev 0.65s ease-out;
}

/* Left-to-right sweep */
@keyframes heinCarouselSweepNext {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }

  25% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(100%);
  }
}

/* Right-to-left sweep */
@keyframes heinCarouselSweepPrev {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }

  25% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translateX(-100%);
  }
}


/* ================================
   Carousel Arrow Hover Colour
   ================================ */

/* Smooth 700ms colour transition for carousel arrows only */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button i,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button svg,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-prev,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-next,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-prev::after,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-next::after {
  transition:
    color 700ms ease,
    fill 700ms ease,
    stroke 700ms ease;
}

/* Shift carousel arrows to HEIN orange on hover */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button:hover,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-prev:hover,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-next:hover,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-prev:hover::after,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-next:hover::after {
  color: #EA7600 !important;
}

/* Handles SVG-based arrows */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .elementor-swiper-button:hover svg,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-prev:hover svg,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-button-next:hover svg {
  fill: #EA7600 !important;
  stroke: #EA7600 !important;
}


/* ================================
   Individual Slide Hover Overlay
   ================================ */

/* Creates a HEIN blue overlay per individual slide */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    135deg,
    rgba(0, 48, 87, 0.50),
    rgba(0, 48, 87, 0.24)
  );

  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 650ms ease;
}

/* Zoom only the image being hovered */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide:hover img,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide:hover .swiper-slide-image,
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide:hover .elementor-image-carousel img {
  transform: scale(1.06);
}

/* Show the blue overlay only on the hovered slide */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide:hover::after {
  opacity: 1;
}


/* ================================
   Centered Hover Label Per Slide
   ================================ */

/* Removes the old whole-carousel label, if it exists */
.elementor-2898 .elementor-element.elementor-element-d62fa76 > .elementor-widget-container::before {
  content: none !important;
}

/* Centered hover label for each individual carousel image */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide::before {
  content: "View Image";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;

  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  white-space: nowrap;

  opacity: 0;
  transform: translate(-50%, calc(-50% + 8px));
  pointer-events: none;

  text-shadow:
    0 1px 3px rgba(0, 0, 0, 0.65),
    0 4px 12px rgba(0, 0, 0, 0.45);

  transition:
    opacity 650ms ease,
    transform 650ms ease;
}

/* Reveal the label only on the image being hovered */
.elementor-2898 .elementor-element.elementor-element-d62fa76 .swiper-slide:hover::before {
  opacity: 1;
  transform: translate(-50%, -50%);
}/* End custom CSS */
/* Start custom CSS for post-navigation, class: .elementor-element-3b69557 *//* Left navigation: show Previous only */
.elementor-2898 .elementor-element.elementor-element-3b69557 .elementor-post-navigation__next {
  display: none !important;
}

/* Hide the center divider */
.elementor-2898 .elementor-element.elementor-element-3b69557 .elementor-post-navigation__separator-wrapper,
.elementor-2898 .elementor-element.elementor-element-3b69557 .elementor-post-navigation__separator {
  display: none !important;
}

/* Let the Previous side use the full widget width */
.elementor-2898 .elementor-element.elementor-element-3b69557 .elementor-post-navigation__prev {
  width: 100% !important;
}

/* Optional: align previous content to the left */
.elementor-2898 .elementor-element.elementor-element-3b69557 .elementor-post-navigation__prev a {
  justify-content: flex-start;
}/* End custom CSS */
/* Start custom CSS for post-navigation, class: .elementor-element-2988120 *//* Right navigation: show Next only */
.elementor-2898 .elementor-element.elementor-element-2988120 .elementor-post-navigation__prev {
  display: none !important;
}

/* Hide the center divider */
.elementor-2898 .elementor-element.elementor-element-2988120 .elementor-post-navigation__separator-wrapper,
.elementor-2898 .elementor-element.elementor-element-2988120 .elementor-post-navigation__separator {
  display: none !important;
}

/* Let the Next side use the full widget width */
.elementor-2898 .elementor-element.elementor-element-2988120 .elementor-post-navigation__next {
  width: 100% !important;
}

/* Optional: align next content to the right */
.elementor-2898 .elementor-element.elementor-element-2988120 .elementor-post-navigation__next a {
  justify-content: flex-end;
  text-align: right;
}/* End custom CSS */
/* Start custom CSS */body {
  background-color: rgba(255, 255, 255, 0.98) !important;
  background-blend-mode: lighten !important;
}/* End custom CSS */