/* Equal height boxes that match the tallest one in the row */
.equal-cards .elementor-container {
  display: flex !important;
  align-items: stretch !important;
}

.equal-cards .elementor-column {
  display: flex !important;
  flex-direction: column !important;
}

.equal-cards .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.equal-cards .elementor-widget-container {
  flex-grow: 1 !important;   /* allows each box to grow equally */
  display: flex !important;
  flex-direction: column !important;
}
/* Hide default WordPress/Digimax page titles site-wide (Pages only) */
body.page .page-header,
body.page .entry-header,
body.page .page-title,
body.page .entry-title {
  display: none !important;
}

/* Remove any leftover space where the title area sat */
body.page .page-header,
body.page .entry-header {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  border: 0 !important;
}
/* Target About Us page only */
.page-about-us .page-header h1 {
  font-size: 90% !important;  /* shrink header text */
  
  display: flex;
  justify-content: center;   /* horizontal center */
  align-items: center;       /* vertical center */
  text-align: center;
  height: 100%;
}
/* --- ABOUT US page header: shrink by 10% + center --- */
/* Works for common WP title locations */
.page .entry-title,
.page .wp-block-post-title,
.page .entry-content > h1:first-of-type,
.page .wp-block-heading:first-of-type {
  font-size: 90% !important;   /* 10% smaller */
  text-align: center !important;
}

/* If your top section is a Gutenberg Cover block, center vertically too */
.page .wp-block-cover__inner-container {
  display: flex !important;
  align-items: center !important;   /* vertical center */
  justify-content: center !important; /* horizontal center */
  text-align: center;
}

/* If your theme uses a hero wrapper, this helps vertical centering */
.page .hero, 
.page .hero-area, 
.page .page-title-area, 
.page .page-header,
.page .hero-title-wrap {
  display: flex;
  align-items: center;      /* vertical center */
  justify-content: center;  /* horizontal center */
  text-align: center;
  min-height: inherit;
}
/* --- Remove grey / grayscale effect on Digimax Portfolio --- */

/* Kill grayscale filter on images */
.rt-portfolio .rtin-thumb img,
.portfolio-item .thumb img,
.portfolio .item img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;  /* ensure full color */
}

/* Remove the dark overlay layer */
.rt-portfolio .rtin-thumb:before,
.portfolio-item .thumb:before,
.portfolio .item:before,
.rt-portfolio .overlay,
.portfolio-item .overlay,
.portfolio .item .overlay {
  background: transparent !important;
  opacity: 0 !important;
  content: none !important;
}

/* Prevent hover state from re-applying dimming */
.rt-portfolio .rtin-thumb:hover img,
.portfolio-item:hover .thumb img,
.portfolio .item:hover img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}
/* DIGIMAX: force portfolio thumbs to stay full-color, no dim overlay */

/* 1) Never grayscale or dim the images */
[class*="portfolio"] img,
.rt-portfolio img,
.elementor-widget-portfolio .elementor-post__thumbnail img,
.elementor-portfolio__img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* 2) Kill dark overlays (pseudo elements & overlay divs) */
[class*="portfolio"] .rtin-thumb:before,
[class*="portfolio"] .rtin-thumb:after,
[class*="portfolio"] a:before,
[class*="portfolio"] a:after,
[class*="portfolio"] figure:before,
[class*="portfolio"] figure:after,
.rt-portfolio .overlay,
.portfolio .overlay,
.elementor-portfolio__overlay,
.elementor-portfolio-item__overlay {
  content: none !important;
  background: transparent !important;
  opacity: 0 !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
}

/* 3) If the image is applied as a background with a gradient layer */
[class*="portfolio"] .rtin-thumb,
[class*="portfolio"] .thumb,
.elementor-portfolio__thumbnail {
  background-blend-mode: normal !important;
  filter: none !important;
}

/* 4) Make sure hover doesn’t reapply effects */
[class*="portfolio"] img:hover,
.elementor-portfolio__img:hover {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
/* DIGIMAX – kill grayscale + dark overlay on portfolio cards */

/* 1) Remove ALL filters on the card AND the image */
html body .rt-portfolio .rtin-item,
html body .rt-portfolio .rtin-thumb,
html body .rt-portfolio .rtin-thumb img,
html body .portfolio-item,
html body .portfolio-item .thumb,
html body .portfolio-item .thumb img,
html body [class*="portfolio"] figure,
html body [class*="portfolio"] figure img,
html body .elementor-portfolio-item,
html body .elementor-portfolio-item img {
  -webkit-filter: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* 2) Nuke any dark overlay pseudo-elements */
html body .rt-portfolio .rtin-thumb::before,
html body .portfolio-item .thumb::before,
html body [class*="portfolio"] figure::before,
html body .elementor-portfolio-item::before,
html body [class*="portfolio"] *::before,
html body [class*="portfolio"] *::after {
  content: none !important;
  background: transparent !important;
  opacity: 0 !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
}

/* 3) Ensure hover does NOT reapply effects */
html body .rt-portfolio .rtin-item:hover,
html body .rt-portfolio .rtin-thumb:hover,
html body .rt-portfolio .rtin-thumb:hover img,
html body .portfolio-item:hover .thumb,
html body .portfolio-item:hover .thumb img,
html body .elementor-portfolio-item:hover,
html body .elementor-portfolio-item:hover img {
  -webkit-filter: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
    .mks-filter-overlay { display: none !important; }
.portfolio-hover-bg-overlay {
  display: none
}
.portfolio-hover-bg-mask {
    display: none;
}
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');

body, body * {
  font-family: 'Outfit', sans-serif !important;
}
/* Equal height for Ports / Pipes / Power cards */
.elementor-row {
  display: flex;
  align-items: stretch;
}
.elementor-row .elementor-column {
  display: flex;
}
.elementor-row .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.elementor-row .elementor-widget-button {
  margin-top: auto;
}
/* Equal height for 3 boxes inside any section with class "ppp-parent" */
.ppp-parent {
  display: flex !important;
}

.ppp-parent > .elementor-column {
  display: flex !important;
  flex: 1 1 auto !important;
}

.ppp-parent .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.ppp-parent .elementor-widget-button {
  margin-top: auto !important; /* pushes the button to the bottom */
}
body, p, span, div {
  font-family: 'Roboto', sans-serif !important;
}
.page-about-us .fade-to-red {
  background: linear-gradient(90deg, #000000, #990129);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: oneWayFade 3s forwards;
}
@keyframes oneWayFade {
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}
/* Only the About Us page */
.page-about-us .fade-to-red .elementor-heading-title,
.page-about-us h1.fade-to-red,
.page-about-us h2.fade-to-red,
.page-about-us p.fade-to-red,
.page-about-us span.fade-to-red {
  background: linear-gradient(90deg, #000000, #990129);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;                 /* for Firefox */
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;          /* for Firefox */
  display: inline-block;                  /* ensures the background clips neatly */
  animation: oneWayFade 3s forwards;
}

@keyframes oneWayFade {
  from { background-position: 0% 50%; }
  to   { background-position: 100% 50%; }
}
/* Only affect About Us page */
.page-about-us {
  /* Set up scroll timeline */
  scroll-timeline-name: about-scroll;
  scroll-timeline-axis: block;
  animation: textColorChange 1s linear both;
  animation-timeline: about-scroll;
}

/* Animate text color */
@keyframes textColorChange {
  from { color: #000000; }
  to   { color: #990129; }
}

/* Make sure children inherit */
.page-about-us h1,
.page-about-us h2,
.page-about-us h3,
.page-about-us h4,
.page-about-us h5,
.page-about-us h6,
.page-about-us p,
.page-about-us li,
.page-about-us blockquote,
.page-about-us span,
.page-about-us .elementor-heading-title,
.page-about-us .elementor-widget-text-editor {
  color: inherit !important;
}
/* ---------- About Us page only ---------- */
body.page-about-us {
  /* Fallback: make text red if scroll-driven animations aren't supported */
  color: #990129;
}

/* Force Elementor/Theme text to inherit the body color */
body.page-about-us :where(
  h1,h2,h3,h4,h5,h6,
  p,li,blockquote,figcaption,small,em,strong,a,span,
  code,pre,dt,dd,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .elementor-icon-box-content,
  .elementor-tab-content,
  .elementor-accordion-item,
  .elementor-widget-container
){
  color: inherit !important;
  -webkit-text-fill-color: initial !important; /* beat gradient/text-fill overrides */
}

/* ---------- Scroll-driven animation (modern Chrome/Edge/Safari) ---------- */
@supports (animation-timeline: scroll()) {
  body.page-about-us {
    color: #000000;                          /* start black */
    animation: bodyColor 1s linear both;     /* duration maps to scroll range */
    animation-timeline: scroll(root block);  /* tie to page scroll */
    animation-range: 0% 100%;                /* top -> bottom */
  }
  @keyframes bodyColor {
/* About Us page only */
.page-about-us {
  color: black;
  animation: bodyColor linear both;
  animation-timeline: scroll(root block); /* tie animation to page scroll */
  animation-range: 0% 100%;               /* from top (0%) to bottom (100%) */
}

/* animate text color */
@keyframes bodyColor {
  from { color: #000000; }
  to   { color: #990129; }
}

/* force Elementor / theme text to inherit */
.page-about-us h1,
.page-about-us h2,
.page-about-us h3,
.page-about-us h4,
.page-about-us h5,
.page-about-us h6,
.page-about-us p,
.page-about-us li,
.page-about-us span,
.page-about-us .elementor-heading-title,
.page-about-us .elementor-widget-text-editor {
  color: inherit !important;
}
.page-about-us * {
  transition: color 0.2s linear;
}
/* Gradient text effect */
.gradient-text {
  background: linear-gradient(90deg, #7b61ff, #ff8fab, #ffb86c); /* adjust colors */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /* for modern browsers */
  color: transparent;
}
/* only affects the section with ID 'about-gradient' */
#about-gradient .elementor-heading-title{
  background: linear-gradient(90deg, #7b61ff, #ff8fab, #ffb86c);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
  display: inline-block;
}
/* lock it to that section only */
#about-gradient :is(h1,h2,h3,h4,h5,h6).elementor-heading-title {
  background: linear-gradient(90deg,#7b61ff,#ff8fab,#ffb86c) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline-block !important;
  filter: none !important; text-shadow: none !important; mix-blend-mode: normal !important;
}
/* Word-by-word colors for About Us */
.k2-colorflow [data-k2w] { display:inline; white-space:pre-wrap; }

/* Your brand color palette */
.k2-colorflow .k2-c0 { color: #C8102E; }  /* K2 red */
.k2-colorflow .k2-c1 { color: #7B61FF; }
.k2-colorflow .k2-c2 { color: #FF8FAB; }
.k2-colorflow .k2-c3 { color: #FFB86C; }
.k2-colorflow .k2-c4 { color: #1CC5E7; }
.k2-colorflow .k2-c5 { color: #011D27; }  /* navy */
.k2-colorflow .k2-c6 { color: #c5df37; }  /* green accent */
.k2-colorflow .k2-c7 { color: #990129; }
/* Animate words inside .about-gradient */
.about-gradient span {
  display: inline-block;
  animation: shiftColor 3s infinite;
}

/* Stagger animation so each word changes one after another */
.about-gradient span:nth-child(1) { animation-delay: 0s; }
.about-gradient span:nth-child(2) { animation-delay: 0.3s; }
.about-gradient span:nth-child(3) { animation-delay: 0.6s; }
.about-gradient span:nth-child(4) { animation-delay: 0.9s; }
.about-gradient span:nth-child(5) { animation-delay: 1.2s; }
/* add more if you have longer sentences */

@keyframes shiftColor {
  0%   { color: black; }
  50%  { color: #990129; }  /* deep Kuok red */
  100% { color: black; }
}
/* 1) Change Apply Now button color */
.career .elementor-button {
    background-color: #990129 !important; /* Kuok Red */
    border-color: #990129 !important;
}

/* 2) Remove the 2nd empty button */
.career .elementor-button + .elementor-button {
    display: none !important;
}
/* Force Apply Now button color */
.career .eael-filter-gallery-control .elementor-button,
.career .eael-filter-gallery-item .elementor-button {
    background-color: #990129 !important;
    border-color: #990129 !important;
    color: #fff !important; /* make sure text is white */
}

/* Remove the 2nd empty button */
.career .eael-filter-gallery-item .elementor-button:nth-of-type(2) {
    display: none !important;
}
/* Force Apply Now button to Kuok Red */
.career .eael-filter-gallery-item .elementor-button,
.career .eael-filter-gallery-item .elementor-button:link,
.career .eael-filter-gallery-item .elementor-button:visited,
.career .eael-filter-gallery-item .elementor-button:hover,
.career .eael-filter-gallery-item .elementor-button:active {
    background-color: #990129 !important;
    border-color: #990129 !important;
    color: #fff !important;
}

/* Kill the second (empty) button */
.career .eael-filter-gallery-item .elementor-button:nth-of-type(2) {
    display: none !important;
}
/* Force the Apply Now button to Kuok Red (kills gradients/overrides inline) */
.career .eael-filterable-gallery .eael-gallery-item-button a,
.career a.elementor-button,
.career .elementor a.elementor-button {
  background: #990129 !important;        /* handles gradients */
  background-image: none !important;      /* kills any gradient image */
  background-color: #990129 !important;   /* fallback */
  border-color: #990129 !important;
  color: #fff !important;
}

/* Keep hover in the same red */
.career .eael-filterable-gallery .eael-gallery-item-button a:hover,
.career a.elementor-button:hover {
  background: #990129 !important;
  background-image: none !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Remove the 2nd empty button (the extra link/lightbox icon) */
.career .eael-filterable-gallery .eael-gallery-item-button a + a { 
  display: none !important; 
}

/* If the widget outputs a lightbox/magnifier control, hide it too */
.career .eael-filterable-gallery .eael-magnific-popup,
.career .eael-filterable-gallery .eael-gallery-item-button .eael-lightbox,
.career .eael-filterable-gallery .eael-gallery-item-button .eael-icon {
  display: none !important;
}
/* Force override any inline styles on Apply Now buttons inside the career gallery */
.career .eael-filterable-gallery .eael-gallery-item-button a.elementor-button {
    background: #990129 !important;
    background-color: #990129 !important;
    background-image: none !important;
    border-color: #990129 !important;
    color: #fff !important;
}
/* Remove the 2nd empty/lightbox button */
.career .eael-filterable-gallery .eael-gallery-item-button a:nth-of-type(2) {
    display: none !important;
}
/* Apply Now button -> Kuok Red */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button,
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button:hover,
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button:focus {
  background: #990129 !important;
  background-image: none !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Remove the 2nd empty button (keep only the first) */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button:not(:first-child) {
  display: none !important;
}
/* Apply Now button - default state */
.jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button {
  background-color: #990129 !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Apply Now button - hover state */
.jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button:hover {
  background-color: #75001f !important; /* darker red if you want hover effect */
  border-color: #75001f !important;
  color: #fff !important;
}

/* Remove extra/second button */
.jltma-image-filter-gallery-wrapper .jltma-image-filter-item .jltma-creative-button:not(:first-child) {
  display: none !important;
}
/* Careers gallery button: force Kuok red */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item
a.button.jltma-creative-button.jltma-creative-button--default,
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item
a.button.jltma-creative-button.jltma-creative-button--default:hover,
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item
a.button.jltma-creative-button.jltma-creative-button--default:focus {
  background: #990129 !important;
  background-image: none !important;
  background-color: #990129 !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Hide the second empty button beside it */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item
a.button.jltma-creative-button.jltma-creative-button--default + a {
  display: none !important;
}
/* Force Button One to Kuok red */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item a.jltma-creative-button {
  background: #990129 !important;
  background-image: none !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Hide the second/empty button if the toggle doesn’t exist */
.career .jltma-image-filter-gallery-wrapper .jltma-image-filter-item a.jltma-creative-button + a {
  display: none !important;
}

/* GLOBAL fix: align body text across all cards */

/* Elementor Icon Box widget titles */
.elementor-icon-box-title {
  min-height: 3.6em;   /* ≈ 3 lines; tweak to 3.2–4.4em to suit your tallest title */
  display: block;      /* ensure normal flow – keep the heading at the top */
}

/* If you also use separate Heading + Text Editor (not Icon Box), keep them aligned too */
.elementor-widget-heading .elementor-heading-title {
  min-height: 3.6em;   /* match the value above */
  display: block;
}

/* optional: tidy the spacing between title and body */
.elementor-icon-box-title + .elementor-icon-box-description { margin-top: 12px; }

/* mobile/tablet: remove the enforced height so stacked cards don't get huge gaps */
@media (max-width: 1024px) {
  .elementor-icon-box-title,
  .elementor-widget-heading .elementor-heading-title {
    min-height: 0;
  }
}
/* GLOBAL fix: align body text across all cards */

/* Elementor Icon Box widget titles */
.elementor-icon-box-title {
  min-height: 3.6em;   /* ≈ 3 lines; tweak to 3.2–4.4em to suit your tallest title */
  display: block;      /* ensure normal flow – keep the heading at the top */
}

/* If you also use separate Heading + Text Editor (not Icon Box), keep them aligned too */
.elementor-widget-heading .elementor-heading-title {
  min-height: 3.6em;   /* match the value above */
  display: block;
}

/* optional: tidy the spacing between title and body */
.elementor-icon-box-title + .elementor-icon-box-description { margin-top: 12px; }

/* mobile/tablet: remove the enforced height so stacked cards don't get huge gaps */
@media (max-width: 1024px) {
  .elementor-icon-box-title,
  .elementor-widget-heading .elementor-heading-title {
    min-height: 0;
  }
}
/* = Global: align body text start across cards = */
:root{
  --card-title-lines: 3; /* set to the longest desktop title (3 lines in your case) */
}

/* Cover BOTH Icon Box titles and normal Heading widgets */
.elementor-icon-box-title,
.elementor-widget-heading .elementor-heading-title{
  line-height: 1.15;                         /* match your heading line-height */
  min-height: calc(var(--card-title-lines) * 1lh); /* reserves exactly N lines */
  display: block;                             /* keep title at the top */
  margin-bottom: 12px;                        /* consistent gap above body copy */
}

/* Remove any extra first-paragraph top margin */
.elementor-icon-box-description,
.elementor-widget-text-editor p:first-child{
  margin-top: 0;
}

/* On tablet/mobile, don’t force extra space */
@media (max-width: 1024px){
  .elementor-icon-box-title,
  .elementor-widget-heading .elementor-heading-title{
    min-height: 0;
  }
}
/* Standardise heading → body spacing for Icon Boxes */
.elementor-icon-box-title {
  margin-bottom: 8px !important;   /* control the space under the heading */
}

/* Standardise spacing in your Heading + Text Editor setup */
.elementor-widget-heading {
  margin-bottom: 8px !important;   /* matches the Icon Box gap */
}

/* Reset default paragraph spacing */
.elementor-icon-box-description,
.elementor-widget-text-editor p {
  margin-top: 0 !important;
}
/* Force headings in #equal-heads section to wrap at 90% width */
#equal-heads .elementor-heading-title,
#equal-heads .elementor-icon-box-title {
  display: inline-block;   /* so max-width applies */
  max-width: 90%;          /* wrap into 2+ lines if longer than 90% */
  white-space: normal;     /* allow line wrapping */
  word-wrap: break-wo
/* Force long headings to wrap once they exceed ~90% of the card width */
#equal-heads .elementor-widget-heading .elementor-heading-title,
#equal-heads .elementor-icon-box-title,
#equal-heads h1.elementor-heading-title,
#equal-heads h2.elementor-heading-title,
#equal-heads h3.elementor-heading-title {
  display: block;                 /* ensure max-width applies */
  max-width: 90%;
  white-space: normal !important; /* override any nowrap coming from theme */
  overflow-wrap: anywhere;        /* allow breaks inside long words */
  word-break: break-word;         /* fallback for older engines */
}
/* Target all headings inside the section with CSS ID = equal-heads */
#equal-heads .elementor-heading-title,
#equal-heads .elementor-icon-box-title {
  display: block;
  max-width: 90%;             /* wraps at 90% of the card */
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/* Target all headings inside the section with CSS ID = equal-heads */
#equal-heads .elementor-heading-title,
#equal-heads .elementor-icon-box-title {
  display: block;
  max-width: 90%;             /* wraps at 90% of the card */
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
#equal-heads .elementor-heading-title,
#equal-heads .elementor-icon-box-title {
  display: inline-block;      /* so max-width applies */
  max-width: 90%;             /* don’t let text stretch edge-to-edge */
  white-space: normal !important; 
  word-break: break-word;
  overflow-wrap: anywhere;
  text-wrap: balance;         /* modern browsers: nicer line breaking */
}
#equal-heads .elementor-heading-title,
#equal-heads .elementor-icon-box-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;      /* maximum 2 lines */
  overflow: hidden;

  max-width: 90%;
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/* Headings: wrap naturally, no mid-word breaks, reserve 2 lines */
#equal-heads .elementor-widget-heading .elementor-heading-title,
#equal-heads .elementor-icon-box-title{
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
  line-height: 1.15;        /* match your heading style */
  min-height: 2.3em;        /* ≈ 2 lines (2 × 1.15) so paragraphs align */
  display: block;
  margin: 0 0 12px !important; /* consistent gap under the title */
}

/* Remove any extra top margin on the first paragraph */
#equal-heads .elementor-widget-text-editor,
#equal-heads .elementor-widget-text-editor p:first-child{
  margin-top: 0 !important;
}

/* Optional: don’t reserve space on tablet/mobile if the cards stack */
@media (max-width: 1024px){
  #equal-heads .elementor-widget-heading .elementor-heading-title,
  #equal-heads .elementor-icon-box-title{ min-height: 0; }
}
/* FORCE the Apply Now button color */
#careers-grid .eael-gallery-action a {
  background: #990129 !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Hover (slightly darker) */
#careers-grid .eael-gallery-action a:hover {
  filter: brightness(0.9);
}

/* Hide the second action button (the purple square) */
#careers-grid .eael-gallery-action a + a {
  display: none !important;
}

/* In case the purple square is an icon inside the button, hide icons */
#careers-grid .eael-gallery-action a i,
#careers-grid .eael-gallery-action a svg {
  display: none !important;
}
/* FORCE the Apply Now button color */
#careers-grid .eael-gallery-action a {
  background: #990129 !important;
  border-color: #990129 !important;
  color: #fff !important;
}

/* Hover (slightly darker) */
#careers-grid .eael-gallery-action a:hover {
  filter: brightness(0.9);
}

/* Hide the second action button (the purple square) */
#careers-grid .eael-gallery-action a + a {
  display: none !important;
}

/* In case the purple square is an icon inside the button, hide icons */
#careers-grid .eael-gallery-action a i,
#careers-grid .eael-gallery-action a svg {
  display: none !important;
}
/* Reset plugin’s button and rebuild it */
#careers-grid .eael-gallery-action a {
  all: unset;
  display: inline-block;
  padding: 12px 18px;
  background: #990129 !important;
  color: #fff !important;
  border-radius: 4px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
#careers-grid .eael-gallery-action a + a { display: none !important; }
/* Left align titles & subtitles inside EA Filterable Gallery */
#careers-gallery .eael-gallery-item .eael-gallery-title,
#careers-gallery .eael-gallery-item .eael-gallery-subtitle {
    text-align: left !important;
    justify-content: flex-start !important;
}
#careers-gallery .eael-gallery-item .eael-gallery-caption {
    text-align: left !important;
}
/* ========== Careers grid – no hover, text always visible ========== */

/* 1) Stop all hover animations */
.career * { transition: none !important; }

/* 2) Essential Addons (EAEL) Filterable Gallery */
.career .eael-filter-gallery-item .fg-item-content {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.career .eael-filter-gallery-item:hover .fg-item-content {
  opacity: 1 !important;  /* keep shown on hover too */
}
.career .eael-filter-gallery-item:before,
.career .eael-filter-gallery-item:after {
  display: none !important;   /* remove dark/light overlay layers */
}

/* 3) Premium Addons (PAE) / generic gallery captions */
.career .pa-gallery-item .pa-gallery-caption,
.career .portfolio-item .portfolio-content,
.career .gallery-item .caption,
.career .fg-item-content {     /* fallback catch-all */
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* 4) Make sure the text sits above the coloured box */
.career .eael-filter-gallery-item,
.career .pa-gallery-item,
.career .portfolio-item,
.career .gallery-item { position: relative; }

.career .fg-item-content,
.career .pa-gallery-caption,
.career .portfolio-content,
.career .caption {
  position: absolute;          /* puts text over the box */
  left: 24px;
  right: 24px;
  bottom: 24px;                /* move up/down as you like */
  z-index: 2;
}

/* 5) If any dimming/overlay still happens on hover, neutralise it */
.career .overlay,
.career .pa-gallery-item:before,
.career .portfolio-item:before,
.career .gallery-item:before {
  display: none !important;
  opacity: 0 !important;
}

/* 6) Optional: keep the coloured tile clean (hide image if one exists) */
/* Comment this out if you actually use images in the cards */
.career img { opacity: 0 !important; }
/* Site-wide fallback limited to the careers section */
.career .fg-item-content,
.career .eael-gallery-caption,
.career .pa-gallery-caption,
.career .portfolio-content,
.career .gallery-item .caption {
  opacity: 1 !important; visibility: visible !important; transform: none !important;
  position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 3;
}
.career .overlay,
.career .fg-overlay,
.career .pa-gallery-item:before,
.career .portfolio-item:before,
.career .eael-filter-gallery-item:before,
.career .eael-filter-gallery-item:after,
.career .gallery-item:before {
  display: none !important; opacity: 0 !important; visibility: hidden !important;
}
.career img { opacity: 0 !important; } /* remove if you need images */
.career .eael-filter-gallery-item,
.career .pa-gallery-item,
.career .portfolio-item,
.career .gallery-item { position: relative !important; }
/* Careers grid: keep text always visible, remove hover effect */
.career-grid .eael-filter-gallery-item .fg-item-content,
.career-grid .gallery-item .fg-item-content {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;      /* change to top:20px if you want text at the top */
  z-index: 5;
  color: #fff;       /* force text to be visible */
}

/* Kill hover overlays */
.career-grid .eael-filter-gallery-item:before,
.career-grid .eael-filter-gallery-item:after,
.career-grid .fg-overlay,
.career-grid .overlay {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Neutralise hover transitions */
.career-grid .eael-filter-gallery-item,
.career-grid .eael-filter-gallery-item * {
  transition: none !important;
}

/* If you want *only* the coloured tile (no images), hide images */
.career-grid .eael-filter-gallery-item img {
  display: none !important;
}
/* K2 Careers – captions always visible at top-left */
.elementor-element.elementor-element-3305e70 .caption-style-hoverer .gallery-item-caption-over {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;          /* cancel eael-slide-up */
  position: absolute !important;
  top: 20px;        /* <-- move text to top */
  left: 20px;       /* <-- align left */
  right: auto;      /* release right positioning */
  bottom: auto;     /* release bottom positioning */
  z-index: 9 !important;
  pointer-events: auto !important;
  text-align: left !important;
}

/* Keep it visible even on hover */
.elementor-element.elementor-element-3305e70 .caption-style-hoverer:hover .gallery-item-caption-over {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Remove any dimming/overlay layers */
.elementor-element.elementor-element-3305e70 .gallery-item:before,
.elementor-element.elementor-element-3305e70 .gallery-item:after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
/* TEMP sanity check: uncomment to see a magenta border if this CSS is applying */
/* .career-fixed { outline: 3px solid magenta !important; } */

/* Stop all transitions that hide/reveal on hover */
.career-fixed, .career-fixed * { transition: none !important; }

/* Make each tile a stacking context */
.career-fixed [class*="item"],
.career-fixed [class*="gallery"],
.career-fixed [class*="portfolio"],
.career-fixed a {
  position: relative !important;
}

/* Always show any caption/content/title/meta over the coloured box */
.career-fixed [class*="caption"],
.career-fixed [class*="content"],
.career-fixed [class*="desc"],
.career-fixed [class*="details"],
.career-fixed [class*="meta"],
.career-fixed [class*="title"],
.career-fixed .fg-item-content {
  position: absolute !important;
  left: 22px; right: 22px; bottom: 22px;   /* change to top:22px; if you prefer top-left */
  z-index: 5 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  color: #fff !important;                   /* ensure text visible on red/grey */
}

/* Kill every overlay/dimming/hover layer used by common Elementor add-ons */
.career-fixed [class*="overlay"],
.career-fixed [class*="hover"],
.career-fixed [class*="mask"],
.career-fixed .fg-overlay,
.career-fixed .eael-filter-gallery-item:before,
.career-fixed .eael-filter-gallery-item:after,
.career-fixed .pa-gallery-item:before,
.career-fixed .pa-gallery-item:after,
.career-fixed .elementor-portfolio-item:before,
.career-fixed .elementor-portfolio-item:after {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* If these cards should be solid colour tiles (no photos), hide images.
   Delete this rule if you want the images visible. */
.career-fixed img { opacity: 0 !important; }
/* prove CSS is hitting the right thing — remove later */
#careers-grid { outline: 2px solid transparent !important; }

/* Kill ALL hover effects inside the grid */
#careers-grid :where(*, *::before, *::after) {
  transition: none !important;
}

/* Always show the text layer & put it on top */
#careers-grid :is(.fg-item-content,
                  .elementor-portfolio__content,
                  .elementor-portfolio-item__overlay,
                  .elementor-post__text,
                  .eael-gallery-caption,
                  .pa-gallery-caption,
                  .portfolio-content,
                  .caption,
                  .content,
                  .details,
                  .meta,
                  .title) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
  position: absolute !important;
  left: 24px; right: 24px; bottom: 24px;   /* change to top:24px if you prefer */
  z-index: 5 !important;
  color: #fff !important;
}

/* Remove ANY overlay/dimming layer (elements + pseudo-elements) */
#careers-grid :is(.overlay, .fg-overlay, .hover, .mask,
                  .elementor-portfolio__hover, .elementor-portfolio-item__overlay-bg) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#careers-grid :is(*::before, *::after) {  /* wipes pseudo overlay paints */
  background: transparent !important;
  box-shadow: none !important;
}

/* Optional: show solid colour tiles only (hide images). Delete if you want images. */
#careers-grid img { opacity: 0 !important; }

/* Ensure each tile can hold absolutely-positioned text */
#careers-grid :is([class*="item"], [class*="gal*]()*]()
/* Make each card the positioning context */
#careers-grid :is(.eael-filter-gallery-item,
                  .elementor-portfolio-item,
                  .pa-gallery-item,
                  .portfolio-item,
                  .gallery-item,
                  .elementor-post,
                  .grid-item,
                  li) {
  position: relative !important;
}

/* Put the button at bottom-left with padding */
#careers-grid :is(a,button).elementor-button,
#careers-grid :is(a,button).elementor-button-link,
#careers-grid :is(a,button).eael-btn,
#careers-grid :is(a,button).premium-button,
#careers-grid :is(a,button).btn {
  position: absolute !important;
  left: 16px;
  bottom: 16px;
  margin: 0 !important;
  z-index: 10;
  opacity: 1 !important;        /* in case the widget hides it on hover */
  visibility: visible !important;
  padding: 10px 16px !important; /* “some padding” */
  border-radius: 6px;            /* optional, looks nicer */
}
/* remove default container padding for full-bleed heroes */
.hero-fullbleed.e-con {
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ===== FIX BLACK GAP ON LEFT SIDE OF HERO HEADERS ===== */

/* Remove Elementor's default container padding on top sections */
.elementor-section.elementor-top-section {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Ensure all hero/header sections stretch full width */
.elementor-section.elementor-top-section .elementor-container,
.elementor-section.elementor-top-section .e-con {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Background video container covers entire hero */
.elementor-background-video-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Video itself covers everything */
.elementor-background-video-container video {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
/* Hide any left off-canvas / sidebar toggle bars site-wide */
.ha-offcanvas-sidebar-toggle,
.ha-offcanvas__toggle,
.offcanvas-toggle,
.side-panel-toggle,
.side-menu-toggle,
#side-panel-toggle,
#offcanvas-toggle,
.elementor-widget-sidebar-toggle,
.elementor-widget-offcanvas,
div[class*="offcanvas"][class*="toggle"],
div[class*="side"][class*="toggle"] {
  display: none !important;
  visibility: hidden !important;
}

/* In case the plugin renders it as a thin fixed strip on the left */
body > div[style*="position: fixed"][style*="left: 0"],
body > a[style*="position: fixed"][style*="left: 0"] {
  display: none !important;
}

/* Prevent any leftover 1px artifact from layout rounding */
html, body { overflow-x: hidden; }

/* ===== FULL-BLEED HERO FIX (kills left black strip on all inner pages) ===== */

/* 0) Never allow horizontal overflow artifacts */
html, body { overflow-x: hidden !important; }

/* 1) Make any top hero section truly edge-to-edge */
.elementor-top-section:first-of-type {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-left: 0 !important;
  box-shadow: none !important;
}

/* 2) Also force the first section on ALL pages (except homepage) full-bleed */
body:not(.home) .elementor-section:first-of-type,
body.page:not(.home) .elementor > .elementor-section:first-of-type {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 3) Kill any theme/kit container boxing on that first section */
body:not(.home) .elementor-section:first-of-type .elementor-container,
body:not(.home) .elementor-section:first-of-type .e-con {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4) Background video must cover the entire hero */
body:not(.home) .elementor-section:first-of-type .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;            /* top/right/bottom/left = 0 */
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

body:not(.home) .elementor-section:first-of-type .elementor-background-video-container video {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  transform: none !important;
}

/* 5) If a left off-canvas toggle/strip exists, hide it globally */
body:not(.home) [class*="offcanvas"][class*="toggle"],
body:not(.home) [class*="side"][class*="toggle"],
body:not(.home) .ha-offcanvas-sidebar-toggle,
body:not(.home) .side-panel-toggle,
body:not(.home) .elementor-widget-offcanvas {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
}

/* 6) Remove any accidental 1em padding injected via CSS variables */
body:not(.home) .elementor-element {
  --padding-left: 0 !important;
  --padding-right: 0 !important;
}
/* 1) Page-specific: kill the padding on the container you highlighted */
.elementor-67 .elementor-element.elementor-element-f237872 {
  /* kill Elementor's CSS-variable padding */
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;

  /* kill any direct paddings too */
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Make sure mobile media-query overrides can't re-apply it */
@media (max-width: 1024px) {
  .elementor-67 .elementor-element.elementor-element-f237872 {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 767px) {
  .elementor-67 .elementor-element.elementor-element-f237872 {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    padding: 0 !important;
  }
}

/* 2) Global safety net for ALL inner-page first hero containers */
body:not(.home) .elementor-section:first-of-type .e-con {
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  padding: 0 !important;
}

/* 3) Make the background fill edge-to-edge just in case */
body:not(.home) .elementor-section:first-of-type .elementor-background-video-container {
  inset: 0 !important;
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
}
body:not(.home) .elementor-section:first-of-type .elementor-background-video-container video {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}
/* Kill ALL padding on the inspected container */
.elementor-67 .elementor-element.elementor-element-f237872.e-con {
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Kill the black gap: override the inspected container */
.elementor-element.elementor-element-f237872.e-con {
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* ===== Global fix: kill Elementor's default padding on ALL containers ===== */

/* Reset padding variables on every container */
.e-con,
.elementor-section,
.elementor-container,
.elementor-column {
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Make sure full-width sections really go edge-to-edge */
.elementor-section {
  max-width: 100vw !important;
  width: 100vw !important;
  margin: 0 auto !important;
}

/* Prevent any stray horizontal scrollbars */
html, body {
  overflow-x: hidden !important;
}
 
/* ===== Remove black strip on ALL Elementor background video headers ===== */
html, body { overflow-x: hidden !important; }

/* 1) Kill padding on any section/container that holds a background video */
.elementor .elementor-section:has(.elementor-background-video-container),
.elementor .e-con:has(.elementor-background-video-container) {
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-left: 0 !important;
}

/* 2) Force the background video wrapper to overscan the viewport (kills 1px slivers) */
.elementor .elementor-background-video-container {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: -1px !important;           /* overhang left edge */
  right: -1px !important;          /* overhang right edge */
  width: calc(100% + 2px) !important;
  height: 100% !important;
  overflow: hidden !important;
  background: transparent !important; /* avoid black fallback */
}

/* 3) Make the video truly cover the area (no letterboxing) */
.elementor .elementor-background-video-container video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  transform: translateZ(0) !important; /* fixes GPU rounding artifacts */
  background: transparent !important;   /* no black while loading */
}

/* 4) If an overlay is used, overscan it as well so edges stay covered */
.elementor .elementor-background-overlay {
  left: -1px !important;
  right: -1px !important;
  width: calc(100% + 2px) !important;
}

/* 5) Mobile breakpoints sometimes re-inject padding via vars—nuke again */
@media (max-width: 1024px) {
  .elementor .e-con {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
  }
}
@media (max-width: 767px) {
  .elementor .e-con {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
  }
}
/* ===== Remove the black strip on ALL headers with background video ===== */

/* 1) The REAL padded node in Elementor containers is .e-con-inner */
.elementor .e-con > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 2) Make sure first/top hero sections go edge-to-edge */
.elementor .elementor-top-section:first-of-type,
.elementor .elementor-section:first-of-type {
  margin: 0 !important;
  padding: 0 !important;
}

/* 3) Ensure the video fills the section (no sliver on either side) */
.elementor .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;               /* top/right/bottom/left: 0 */
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
.elementor .elementor-background-video-container video {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* 4) If there’s an overlay, make it span fully too */
.elementor .elementor-background-overlay {
  inset: 0 !important;
  width: 100% !important;
}

/* 5) Optional: body overflow safeguard */
html, body { overflow-x: hidden !important; }

/* 6) If you want to nuke just the one you inspected as well: */
.elementor-element.elementor-element-f237872 > .e-con-inner {
  padding: 0 !important;
}
/* Keep all K2 titles consistent across cards: max 2 lines */
.k2-title {
  white-space: normal !important;       /* allow wrapping */
  word-break: normal !important;        /* don't split words mid-way */
  overflow-wrap: break-word !important; /* wrap at whole words */
  hyphens: none !important;

  display: -webkit-box !important;      /* enable multi-line clamp */
  -webkit-line-clamp: 2;                /* show max 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden !important;

  line-height: 1.2em;                   /* good spacing between lines */
  text-overflow: ellipsis;              /* add "…" if text is too long */
}
/* ===== Kill Elementor's default 1em padding site-wide ===== */

/* Override the variables themselves */
.e-con {
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
}

/* Override where Elementor actually applies it */
.e-con > .e-con-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Nuke them again inside Elementor's breakpoints */
@media (max-width: 1024px) {
  .e-con {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
  }
  .e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 767px) {
  .e-con {
    --padding-left: 0 !important;
    --padding-right: 0 !important;
  }
  .e-con > .e-con-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Safety net: remove any leftover border/padding from top sections */
.elementor-section.elementor-top-section {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Prevent horizontal scrollbar from ghost gaps */
html, body {
  overflow-x: hidden !important;
}
/* Force background video to fully cover when the section has class "fullvideo" */
.fullvideo .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  left: -1px !important;
  right: -1px !important;
  width: calc(100% + 2px) !important;
  height: 100% !important;
  overflow: hidden !important;
  background: transparent !important;
}

.fullvideo .elementor-background-video-container video {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;

  object-fit: cover !important;
  width: auto !important;
  height: auto !important;
  min-width: 100% !important;
  min-height: 100% !important;
  background: transparent !important;
}

.fullvideo .elementor-background-overlay {
  inset: 0 !important;
  left: -1px !important;
  right: -1px !important;
  width: calc(100% + 2px) !important;
}
/* --- Elementor background video: make iframes "cover" --- */
.elementor-background-video-embed {
  position: absolute !important;
  inset: 0 !important;
  overflow: hidden !important;
  background: transparent !important; /* no black flash */
}

/* Center + oversize the iframe to fully cover the box */
.elementor-background-video-embed iframe {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 177.78% !important;   /* 16:9 cover trick */
  height: 100% !important;
  min-height: 100% !important;
  pointer-events: none;        /* keep the section clickable */
}

/* Ensure the parent crops overflow cleanly */
section.elementor-section { overflow: hidden; }
.no-bars{position:relative;overflow:hidden;}
.no-bars .elementor-background-video-embed{position:absolute!important;inset:0!important;overflow:hidden!important;background:transparent!important;}
.no-bars .elementor-background-video-embed iframe{
  position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:177.78%!important;height:100%!important;min-height:100%!important;pointer-events:none;
}
.no-bars > .elementor-container{position:relative;z-index:1;}
	
	


