/*
===============================================================
 #CUSTOM CSS
- Please do not edit this file. This file is generated from admin area.
- Every changes here will be overwritten by theme
===============================================================*/
    /* header-logo-width 
=========================*/
.aux-logo-header .aux-logo-anchor{ max-width:150px; }
/* header-logo-max-height-type 
=========================*/
.aux-logo-header .aux-logo-anchor > img { max-height:85px; }
/* site-frame-background-color 
=========================*/
@media screen and (min-width: 700px) { .aux-framed .aux-side-frames, body.aux-framed:after, .aux-framed .aux-side-frames:before, .aux-framed .aux-side-frames:after {background-color:#111111;}}
/* site-header-container-height 
=========================*/
.site-header-section .aux-header-elements:not(.aux-vertical-menu-elements), .site-header-section .aux-fill .aux-menu-depth-0 > .aux-item-content { height:85px; }
/* site-transparent-header-bgcolor 
=========================*/
.site-header-section { background-color:rgba(255, 255, 255, 0); }
/* site-header-container-scaled-height 
=========================*/
.aux-top-sticky .site-header-section.aux-sticky .aux-fill .aux-menu-depth-0 > .aux-item-content, .aux-top-sticky .site-header-section.aux-sticky .aux-header-elements,.aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section > .elementor-container,.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section > .elementor-container { min-height:80px; }
/* sticky-header-color 
=========================*/
.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section, .aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section { background-color:#FFFFFF !important; }
/* site-vertical-menu-background-color 
=========================*/
.aux-vertical-menu-side { background-color:#FFF; }
/* site-header-navigation-item-height 
=========================*/
.site-header-section .aux-middle .aux-menu-depth-0 > .aux-item-content { height:60px; }
/* site-mobile-header-toggle-button-color 
=========================*/
.site-header-section .aux-header .aux-burger:before, .site-header-section .aux-header .aux-burger:after, .site-header-section .aux-header .aux-burger .mid-line { border-color:#ffffff; }
/* site-menu-full-screen-background-color 
=========================*/
#fs-menu-search:before { background-color:#1f1e38; }
/* site-top-header-background-color 
=========================*/
#top-header {background-color:#FFFFFF;}
/* post-title-bar-overlay-pattern-opacity 
=========================*/
.single-post .aux-overlay-bg-hash::before { opacity:0.15; }
/* page-title-bar-overlay-pattern-opacity 
=========================*/
.page .aux-overlay-bg-hash::before { opacity:0.5; }
/* subfooter-bar-layout-bg-color 
=========================*/
.aux-subfooter-bar { background-color:#fafafa; }
/* subfooter-bar-top-border-color 
=========================*/
.aux-subfooter-bar { border-top:1px solid #EAEAEA; }
/* subfooter-layout-bg-image-position 
=========================*/
.aux-subfooter {background-position:center center;}
/* subfooter-layout-bg-image-size 
=========================*/
.aux-subfooter {background-size:cover;}
/* subfooter-layout-bg-image-repeat 
=========================*/
.aux-subfooter {background-repeat:no-repeat;}
/* subfooter-top-border-color 
=========================*/
.aux-subfooter { border-top:1px solid #EAEAEA; }
/* site-footer-bg-color 
=========================*/
.aux-site-footer {background-color:#1A1A1A;}
/* footer-top-border-color 
=========================*/
.aux-site-footer {border-top:1px solid #EAEAEA;}
/* footer-top-border-width 
=========================*/
.aux-site-footer { border-top-width:1px; }
/* site-secondary-logo-max-height 
=========================*/
.aux-logo-footer .aux-logo-anchor img { max-height:50px; }
/* site-content-background-color 
=========================*/
.aux-top-header, .aux-sticky-footer .page-title-section, .aux-sticky-footer #main, #inner-body {background-color:var(--e-global-color-secondary);}
/* portfolio-title-bar-overlay-pattern-opacity 
=========================*/
.single-portfolio .aux-overlay-bg-hash::before { opacity:0.5; }
/* portfolio-classic-entry-box-background-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { background-color:#ffffff; }
/* portfolio-classic-entry-box-border-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { border-color:#ffffff !important; }
/* portfolio-land-side-background-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { background-color:#FFFFFF; }
/* portfolio-land-side-border-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { border-color:#EAEAEA !important; }
/* single-post-title-typography 
=========================*/
.single-post .aux-primary .hentry .entry-title{ font-family:'Bai Jamjuree'; color:var(--e-global-color-text); font-size:50px; font-weight:bold; text-transform:uppercase; line-height:59px; letter-spacing:-0.6px; } 
@media(max-width: 1024px){ .single-post .aux-primary .hentry .entry-title{ font-size:35px; line-height:49px; letter-spacing:-0.4px; }  } 
/* single-post-content-typography 
=========================*/
.single-post .hentry .entry-content{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.6); font-size:16px; font-weight:400; line-height:26px; } 
/* single-post-info-typography 
=========================*/
.single-post .hentry .entry-info{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.5); font-size:14px; font-weight:400; text-transform:uppercase; line-height:19px; } 
/* single-post-info-terms-typography 
=========================*/
.single-post .hentry .entry-info a{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.5); font-size:14px; font-weight:400; } 
/* single-post-meta-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.6); font-size:20px; font-weight:400; font-style:normal; line-height:24px; letter-spacing:-1px; } 
/* single-post-meta-terms-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.6); font-size:20px; font-weight:400; text-transform:none; font-style:normal; text-decoration:none; line-height:24px; letter-spacing:-1px; } 
/* single-post-breadcrumb-typography 
=========================*/
.single-post .page-title-section .aux-breadcrumbs span , .single-post .page-title-section .aux-breadcrumbs span > a{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.6); font-size:16px; font-weight:400; text-transform:uppercase; line-height:25px; } 
/* comment-forms-replay-title-typo 
=========================*/
#reply-title > span{ font-family:'Bai Jamjuree'; color:var(--e-global-color-secondary); font-size:35px; font-weight:bold; text-transform:uppercase; letter-spacing:-1px; line-height:47px; } 
/* comment-forms-notes-typo 
=========================*/
#commentform .comment-notes{ font-family:'Montserrat'; color:rgba(31, 30, 56, 0.6); font-size:16px; font-weight:400; line-height:19px; } 
/* comment-forms-button-typo 
=========================*/
#commentform .form-submit input[type="submit"]{ font-family:'Montserrat'; color:var(--e-global-color-text); font-size:15px; font-weight:500; line-height:19px; letter-spacing:2px; } 
/* header-main-menu-typography 
=========================*/
.site-header-section .aux-menu-depth-0 > .aux-item-content .aux-menu-label{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.5); font-size:15px; line-height:19px; font-weight:400; text-transform:uppercase; } 
@media(max-width: 1024px){ .site-header-section .aux-menu-depth-0 > .aux-item-content .aux-menu-label{ font-size:13px; }  } 
/* header-menu-active-item-typography 
=========================*/
.site-header-section .aux-menu-depth-0.current-menu-item > .aux-item-content .aux-menu-label{ font-family:'Montserrat'; color:rgb(255, 255, 255); font-size:15px; font-weight:bold; text-transform:uppercase; line-height:19px; } 
/* topheader-main-menu-typography 
=========================*/
.aux-top-header .aux-master-menu .aux-menu-depth-0 > .aux-item-content{ font-family:'Montserrat'; color:rgba(255, 255, 255, 0.5); font-size:15px; font-weight:400; line-height:19px; } 
/* site-featured-color-1 
=========================*/
:root {--auxin-featured-color-1: #ffffff;}
/* site-featured-color-2 
=========================*/
:root {--auxin-featured-color-2: #1f1e38;}
/* site-featured-color-3 
=========================*/
:root {--auxin-featured-color-3: #39ffbf;}
/* site-featured-color-4 
=========================*/
:root {--auxin-featured-color-4: #f81d39;}
/* site-featured-color-5 
=========================*/
:root {--auxin-featured-color-5: rgba(255, 255, 255, 0.6);}
/* site-body-background-color 
=========================*/
body { background-color:rgb(0, 0, 0) }
/* blog-post-like-icon-size 
=========================*/
.single-post .wp_ulike_general_class .wp_ulike_btn:before { font-size:10px; }
/* blog-post-share-button-icon-size 
=========================*/
.single-post .aux-single-post-share span::before { font-size:10px; }
/* portfolio-single-share-button-icon-size 
=========================*/
.single-portfolio .aux-single-portfolio-share span::before { font-size:10px; }
/* portfolio-single-like-icon-size 
=========================*/
.single-portfolio .wp_ulike_general_class button::before { font-size:10px; }
/* elementor-color-primary 
=========================*/
.aux-customize-preview.elementor-kit-71 {--e-global-color-primary: rgb(13, 182, 205);}
/* elementor-color-secondary 
=========================*/
.aux-customize-preview.elementor-kit-71 {--e-global-color-secondary: rgb(0, 0, 0);}
/* elementor-color-text 
=========================*/
.aux-customize-preview.elementor-kit-71 {--e-global-color-text: #FFFFFF;}
/* elementor-color-accent 
=========================*/
.aux-customize-preview.elementor-kit-71 {--e-global-color-accent: rgb(13, 182, 205);}
/* site-body-background-pattern 
=========================*/
body:before { height:100%; background-image:url(); }
/* site-body-background-size 
=========================*/
body { background-size:auto; }
/* site-body-background-repeat 
=========================*/
body { background-repeat:no-repeat; }
/* site-body-background-position 
=========================*/
body { background-position:left top; }
/* site-body-background-attach 
=========================*/
body { background-attachment:scroll; }

/* ================================================
   Logo & Font size fixes — prevents logos/fonts
   from rendering too large on all screen sizes
   ================================================ */

/* Desktop EGID logo */
.elementor-element-6f25d4c .aux-has-logo img {
    width: 118px !important;
    max-width: 118px !important;
    height: auto !important;
}

/* Mobile header EGID logo (theme-site-logo widget) */
.elementor-element-9e7e46d img {
    width: 100px !important;
    max-width: 100px !important;
    height: auto !important;
}

/* Prevent any image from overflowing its container sitewide */
img {
    max-width: 100%;
    height: auto;
}

/* ================================================
   EGIT logo — fix wrong location caused by
   Elementor negative margins that only work
   inside WordPress layout engine
   ================================================ */

/* Reset the negative margins (-120px) that pull logo out of position */
.elementor-70 .elementor-element.elementor-element-f2ce0fe > .elementor-widget-container {
    margin: 0 16px 0 16px !important;
    padding: 0 !important;
}

/* Fix the container: vertically center the EGIT logo */
.elementor-70 .elementor-element.elementor-element-f5d2423 {
    align-items: center !important;
}

/* Cap the EGIT logo size — desktop header */
.elementor-element-f2ce0fe img {
    width: auto !important;
    max-width: 80px !important;
    max-height: 40px !important;
    height: auto !important;
    display: block !important;
}

/* Cap the EGIT logo size — mobile header */
.elementor-element-43162c3 img {
    width: auto !important;
    max-width: 80px !important;
    max-height: 40px !important;
    height: auto !important;
    display: block !important;
}

/* Mobile breakpoint */
@media screen and (max-width: 767px) {
    .elementor-element-6f25d4c .aux-has-logo img,
    .elementor-element-9e7e46d img {
        width: 80px !important;
        max-width: 80px !important;
    }
    .elementor-element-f2ce0fe img,
    .elementor-element-43162c3 img {
        max-width: 55px !important;
        max-height: 28px !important;
    }
    .elementor-70 .elementor-element.elementor-element-f2ce0fe > .elementor-widget-container {
        margin: 0 8px 0 8px !important;
    }
}

/* ================================================
   Hero description text — prevent overflow into header at any zoom
   Root fix: post-99.css had font-size 60px/85px at mid breakpoints,
   causing animated text (z-index:1) to paint above the sticky header.
   Values corrected directly in post-99.css; this block handles
   stacking context isolation as a safety net.
   ================================================ */

/* Isolate hero stacking context — animated children with z-index:1
   cannot escape this container and paint over the sticky header */
.elementor-99 .elementor-element.elementor-element-f33e087 {
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Header must always paint on top of page content */
#site-elementor-header,
.aux-elementor-header {
    z-index: 9999 !important;
    position: relative !important;
}

/* ============================================================
   Home hero background — unified image behind header + ticker
   ============================================================ */
.elementor-99 .elementor-element.elementor-element-f33e087:not(.elementor-motion-effects-element-type-background),
.elementor-99 .elementor-element.elementor-element-f33e087 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url("../images/egid-hero-bg.jpg") !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-attachment: scroll !important;
}

/* Darker overlay so white copy stays readable over the trading-floor photo */
.elementor-99 .elementor-element.elementor-element-f33e087 {
    --overlay-opacity: 0.85 !important;
    background-color: #000 !important;
}
.elementor-99 .elementor-element.elementor-element-f33e087::before {
    background-color: #000 !important;
    opacity: 0.75 !important;
}

/* Overlay header stays transparent while the hero image spans behind it,
   so the nav bar + ticker sit on top of the same photo */
body.page-id-99 #site-elementor-header,
body.page-id-99 .aux-elementor-header,
body.page-id-99 [data-elementor-type="header"] > .elementor-element,
body.page-id-99 .elementor-70 .elementor-element.elementor-element-045ef3e {
    background-color: transparent !important;
}

/* Extra readability behind ticker text */
body.page-id-99 .ticker-item {
    background-color: rgba(0, 0, 0, 0.55);
}

/* ============================================================
   Home page — overlay header + ticker onto the hero image
   Makes the nav bar visually merge with the hero background
   ============================================================ */
body.page-id-99 #site-elementor-header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999 !important;
    background-color: transparent !important;
}

/* Pull the hero container up so it sits under the header */
body.page-id-99 .elementor-99 .elementor-element.elementor-element-f33e087 {
    margin-top: 0 !important;
    padding-top: 200px !important;
}
@media screen and (max-width: 1024px) {
    body.page-id-99 .elementor-99 .elementor-element.elementor-element-f33e087 {
        padding-top: 240px !important;
    }
}
@media screen and (max-width: 767px) {
    body.page-id-99 .elementor-99 .elementor-element.elementor-element-f33e087 {
        padding-top: 140px !important;
    }
}

/* Keep the sticky header solid once the user scrolls past the hero
   (avoids unreadable transparent header over white sections) */
body.page-id-99 #site-elementor-header.aux-sticky,
body.page-id-99 .aux-elementor-header.aux-sticky {
    position: fixed !important;
    background-color: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(6px);
}

/* ============================================================
   Clients marquee — seamless CSS scroll like reference project
   ============================================================ */
.egid-marquee {
    width: 100%;
    overflow: hidden;
    background: #fff;
    padding: 24px 0;
}
.egid-marquee-track {
    display: flex;
    align-items: center;
    gap: 48px;
    width: max-content;
    animation: egid-marquee-scroll linear infinite;
    animation-duration: 92s; /* ~ (41 logos * 180px) / 80 px/sec */
}
.egid-marquee:hover .egid-marquee-track {
    animation-play-state: paused;
}
.egid-marquee-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 96px;
}
.egid-marquee-item img {
    max-height: 80px;
    width: auto;
    object-fit: contain;
    display: block;
}
@media (max-width: 767px) {
    .egid-marquee { padding: 16px 0; }
    .egid-marquee-track { gap: 32px; }
    .egid-marquee-item { height: 72px; }
    .egid-marquee-item img { max-height: 56px; }
}
@keyframes egid-marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* ============================================================
   FEAS Conference 2023 news cover — responsive cropping
   Uses object-fit: cover with breakpoint-driven aspect ratios
   ============================================================ */
.post-94 .entry-media, .post-95 .entry-media,
.post-94 .aux-media-frame, .post-95 .aux-media-frame,
.post-94 .aux-media-image, .post-95 .aux-media-image {
    width: 100%;
    overflow: hidden;
}
.post-94 .entry-media a,
.post-95 .entry-media a {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;          /* desktop: cinematic crop */
    overflow: hidden;
}
.post-94 .entry-media img,
.post-95 .entry-media img,
.post-94 .aux-featured-image,
.post-95 .aux-featured-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 35%;   /* keep faces/screen in frame */
    display: block;
}
@media (max-width: 1024px) {
    .post-94 .entry-media a,
    .post-95 .entry-media a { aspect-ratio: 4 / 3; }
}
@media (max-width: 640px) {
    .post-94 .entry-media a,
    .post-95 .entry-media a { aspect-ratio: 3 / 2; }
    .post-94 .entry-media img,
    .post-95 .entry-media img { object-position: center 40%; }
}

/* ============================================================
   WHO WE ARE — overlay header on hero video (page-id-93)
   Matches the home-page pattern so nav bar + ticker sit on
   top of the hero video with no visual seam.
   ============================================================ */
body.page-id-93 #site-elementor-header {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999 !important;
    background-color: transparent !important;
}
body.page-id-93 [data-elementor-type="header"] > .elementor-element,
body.page-id-93 .elementor-70 .elementor-element.elementor-element-045ef3e {
    background-color: transparent !important;
}
/* Hero section: full-bleed video behind header, title anchored to bottom */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 {
    margin-top: 0 !important;
    padding-top: 180px !important;
    padding-bottom: 40px !important;
    min-height: 460px !important;
    display: flex !important;
    align-items: flex-end !important;
}
body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 > .elementor-container {
    align-self: flex-end !important;
    width: 100%;
}
@media screen and (max-width: 1024px) {
    body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 {
        padding-top: 150px !important;
        padding-bottom: 40px !important;
        min-height: 400px !important;
    }
}
@media screen and (max-width: 767px) {
    body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 {
        padding-top: 120px !important;
        padding-bottom: 32px !important;
        min-height: 340px !important;
    }
}
/* Dark overlay for legibility over the moving video */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 .elementor-background-overlay {
    background-color: #000 !important;
    opacity: 0.5 !important;
}
/* Make sure the background video fills the whole hero (including area behind header) */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 .elementor-background-video-container,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-9c90ee9 .elementor-background-video-hosted {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    top: 0 !important;
    left: 0 !important;
}

/* Sticky header stays solid once user scrolls past the hero */
body.page-id-93 #site-elementor-header.aux-sticky,
body.page-id-93 .aux-elementor-header.aux-sticky {
    position: fixed !important;
    background-color: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(6px);
}
/* Readable ticker over the video */
body.page-id-93 .ticker-item {
    background-color: rgba(0, 0, 0, 0.55);
}

/* ============================================================
   WHO WE ARE — Milestones grid (flat 3-row layout,
   middle row full cyan block, flat cards without borders)
   ============================================================ */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
/* Middle row: full-bleed cyan */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 {
    background-color: #1bd0da !important;
}
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 > .e-con-inner,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 > .e-con-inner,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 0 !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 40px 40px !important;
    width: 100% !important;
}
/* Flat cards: no borders, no background */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 .e-con-full.e-child,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 .e-con-full.e-child,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 .e-con-full.e-child {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 24px 28px !important;
    margin: 0 !important;
}
/* Year typography */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 .elementor-widget-heading .elementor-heading-title,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 .elementor-widget-heading .elementor-heading-title {
    color: #1bd0da !important;
    font-weight: 800 !important;
    font-size: 44px !important;
    line-height: 1 !important;
    margin: 0 0 18px !important;
    letter-spacing: -0.02em !important;
}
/* Middle row overrides: white year on cyan */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 .elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 44px !important;
    line-height: 1 !important;
    margin: 0 0 18px !important;
    letter-spacing: -0.02em !important;
}
/* Description text */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 .elementor-widget-text-editor,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 .elementor-widget-text-editor {
    color: #ffffff !important;
}
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 .elementor-widget-text-editor p,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 .elementor-widget-text-editor span,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 .elementor-widget-text-editor p,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 .elementor-widget-text-editor span {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
/* Middle row: white text on cyan */
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 .elementor-widget-text-editor,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 .elementor-widget-text-editor p,
body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 .elementor-widget-text-editor span {
    color: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}
@media (max-width: 900px) {
    body.page-id-93 .elementor-93 .elementor-element.elementor-element-bacdb60 > .e-con-inner,
    body.page-id-93 .elementor-93 .elementor-element.elementor-element-c6005c5 > .e-con-inner,
    body.page-id-93 .elementor-93 .elementor-element.elementor-element-d7d9508 > .e-con-inner {
        grid-template-columns: repeat(2, 1fr) !important;
        padding: 24px !important;
    }
}



/* ============================================
   OUR CEO & MANAGING DIRECTOR SECTION
   ============================================ */
.elementor-element-8c45dc2 {
    background: #e9eaec !important;
    padding: 40px 40px !important;
}
.elementor-element-8c45dc2 > .e-con-inner {
    max-width: 1280px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    align-items: stretch !important;
}
.elementor-element-8c45dc2 .ceo-photo-col {
    padding: 0 !important;
    background: transparent !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    display: flex !important;
    min-height: 620px !important;
}
.elementor-element-8c45dc2 .ceo-photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    display: block !important;
    filter: grayscale(100%);
}
.elementor-element-8c45dc2 .elementor-element-6db81f6 {
    background: #2b2b2b !important;
    border-radius: 18px !important;
    padding: 60px 56px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 620px !important;
}
.elementor-element-8c45dc2 .aux-widget-modern-heading {
    margin-bottom: 24px !important;
}
.elementor-element-8c45dc2 .aux-modern-heading-divider {
    width: 60px !important;
    height: 3px !important;
    background: #1bd0da !important;
    margin-bottom: 20px !important;
    display: block !important;
}
.elementor-element-8c45dc2 .aux-modern-heading-primary {
    color: #ffffff !important;
    font-size: 44px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}
.elementor-element-8c45dc2 .elementor-element-bf621ed p,
.elementor-element-8c45dc2 .elementor-element-bf621ed .wixui-rich-text__text {
    color: #d9d9d9 !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
    text-align: justify !important;
    margin-bottom: 18px !important;
}
.elementor-element-8c45dc2 .elementor-element-bf621ed p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 900px) {
    .elementor-element-8c45dc2 {
        padding: 40px 20px !important;
    }
    .elementor-element-8c45dc2 > .e-con-inner {
        grid-template-columns: 1fr !important;
    }
    .elementor-element-8c45dc2 .ceo-photo-col,
    .elementor-element-8c45dc2 .elementor-element-6db81f6 {
        min-height: auto !important;
    }
    .elementor-element-8c45dc2 .elementor-element-6db81f6 {
        padding: 40px 28px !important;
    }
    .elementor-element-8c45dc2 .aux-modern-heading-primary {
        font-size: 32px !important;
    }
}

/* Who We Are hero video background - extends behind nav */
.who-we-are-hero-video {
    position: relative;
    overflow: hidden;
}
.who-we-are-hero-video .elementor-background-video-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}
.who-we-are-hero-video .elementor-background-video-hosted {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
}
.who-we-are-hero-video .elementor-background-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}
.who-we-are-hero-video .elementor-container {
    position: relative;
    z-index: 2;
}
/* Make site header transparent over the hero video */
body.page-template-default .site-header,
body .site-header.aux-header,
.aux-header-wrapper {
    background: transparent !important;
}

/* ===== "LET'S TALK ABOUT WORK" CTA background (image, 35% visible) ===== */
.elementor-section:has(> .elementor-container .aux-widget-modern-heading h6.aux-modern-heading-primary){
  position: relative;
  background-image: url('../images/cta-bg.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.elementor-section:has(> .elementor-container .aux-widget-modern-heading h6.aux-modern-heading-primary) > .elementor-background-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 1;
  pointer-events: none;
}
.elementor-section:has(> .elementor-container .aux-widget-modern-heading h6.aux-modern-heading-primary) > .elementor-container{
  position: relative;
  z-index: 2;
}

/* ===== "THE RECENT NEWS" section: solid black background ===== */
.elementor-section:has(> .elementor-container .aux-widget-modern-heading h3.aux-modern-heading-secondary){
  background-image: none !important;
  background-color: #000 !important;
}
.elementor-section:has(> .elementor-container .aux-widget-modern-heading h3.aux-modern-heading-secondary) > .elementor-background-overlay{
  background: transparent !important;
}

/* Mobile header layout: EGID top-left, EGIT top-right, burger under EGID; hide inline nav */
@media (max-width: 1024px) {
  .elementor-element-9b84222 > .e-con-inner {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    width: 100% !important;
    gap: 8px 12px !important;
  }
  .elementor-element-9b84222 .elementor-element-570472e {
    grid-column: 1; grid-row: 1;
    justify-content: flex-start !important;
    width: auto !important;
  }
  .elementor-element-9b84222 .elementor-element-b411e0d {
    grid-column: 1; grid-row: 2;
    justify-content: flex-start !important;
    width: auto !important;
  }
  .elementor-element-9b84222 .elementor-element-4d412d5 {
    grid-column: 2; grid-row: 1 / span 2;
    justify-self: end !important;
    align-self: center !important;
    width: auto !important;
  }
  /* Hide inline nav list on mobile; keep the burger (three-line) button */
  .elementor-element-a5ceb2c > .elementor-widget-container > .aux-elementor-header-menu > nav.menu-footer-menu-container,
  .elementor-element-a5ceb2c > .elementor-widget-container > .aux-elementor-header-menu > nav > .aux-master-menu {
    display: none !important;
  }
  .elementor-element-a5ceb2c .aux-burger-box { display: inline-flex !important; }
}
@media (max-width: 1024px) {
  .elementor-element-9b84222 .elementor-element-b411e0d,
  .elementor-element-9b84222 .elementor-element-b411e0d .elementor-widget-container,
  .elementor-element-9b84222 .elementor-element-b411e0d .aux-elementor-header-menu {
    justify-self: start !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  .elementor-element-9b84222 .elementor-element-570472e img {
    max-width: 90px !important;
    height: auto !important;
  }
}

/* Tablet (768-1024px): two-row header so EGIT logo never overlaps nav */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-9b84222 > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: 6px 0 !important;
    width: 100% !important;
    padding: 8px 16px !important;
  }
  /* Top row: EGID logo left, EGIT logo right */
  .elementor-element-9b84222 .elementor-element-570472e {
    grid-column: 1 / 2;
    grid-row: 1;
    justify-content: flex-start !important;
    justify-self: start !important;
    width: auto !important;
  }
  .elementor-element-9b84222 .elementor-element-4d412d5 {
    grid-column: 3 / 4;
    grid-row: 1;
    justify-content: flex-end !important;
    justify-self: end !important;
    width: auto !important;
  }
  /* Bottom row: nav menu full width centered */
  .elementor-element-9b84222 .elementor-element-b411e0d {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex !important;
    justify-content: center !important;
    justify-self: center !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .elementor-element-9b84222 .elementor-element-b411e0d .elementor-widget-container,
  .elementor-element-9b84222 .elementor-element-b411e0d .aux-elementor-header-menu {
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }
  /* Hide every header burger on tablet */
  .aux-elementor-header .aux-burger-box,
  .elementor-element-a5ceb2c .aux-burger-box,
  .elementor-element-634b0c2 .aux-burger-box { display: none !important; }
  /* Show inline nav list */
  .elementor-element-a5ceb2c > .elementor-widget-container > .aux-elementor-header-menu > nav.menu-footer-menu-container,
  .elementor-element-a5ceb2c > .elementor-widget-container > .aux-elementor-header-menu > nav > .aux-master-menu {
    display: flex !important;
  }
  .elementor-element-a5ceb2c .aux-master-menu {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
  }
  .elementor-element-a5ceb2c .aux-master-menu > li { padding: 0 !important; }
  .elementor-element-a5ceb2c .aux-master-menu > li .aux-menu-label {
    font-size: 12px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    color: #fff !important;
  }
  .elementor-element-a5ceb2c .aux-master-menu > li > a { padding: 4px 2px !important; }
  .elementor-element-9b84222 .elementor-element-570472e img { max-width: 100px !important; height: auto !important; }
  .elementor-element-9b84222 .elementor-element-4d412d5 img { max-width: 80px !important; height: auto !important; }
}

/* Burger fullscreen menu: prevent clipping, allow scroll, tighten spacing on small screens */
@media (max-width: 1024px) {
  .aux-fs-popup {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 60px 16px 24px !important;
  }
  .aux-fs-popup .aux-fs-menu {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .aux-fs-popup .aux-fs-menu ul.aux-master-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .aux-fs-popup .aux-fs-menu ul.aux-master-menu > li {
    width: 100% !important;
    text-align: center !important;
    padding: 6px 0 !important;
  }
  .aux-fs-popup .aux-fs-menu ul.aux-master-menu > li .aux-menu-label {
    font-size: 16px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-break: normal !important;
  }
}
@media (max-height: 640px) and (max-width: 1024px) {
  .aux-fs-popup .aux-fs-menu ul.aux-master-menu > li { padding: 3px 0 !important; }
  .aux-fs-popup .aux-fs-menu ul.aux-master-menu > li .aux-menu-label { font-size: 14px !important; }
}

/* ============ Mobile/Tablet display safety fixes ============ */
@media (max-width: 1024px) {
  html, body { overflow-x: hidden !important; max-width: 100vw; }
  img, video, iframe { max-width: 100%; height: auto; }

  /* Ticker bar: don't clip content, allow scrolling */
  .ticker-wrapper { overflow: hidden !important; width: 100% !important; }
  .ticker-data { white-space: nowrap; }

  /* Give every top-level Elementor section real side padding */
  main .elementor-section,
  main .e-con.e-parent,
  main .elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
  /* But not the header container (already handled) */
  #site-elementor-header .e-con.e-parent { padding-left: 0 !important; padding-right: 0 !important; }

  /* Hero: stack image below text, remove float overlap */
  .elementor-widget-image { text-align: center !important; }
  .elementor-widget-image img { float: none !important; display: inline-block !important; margin: 12px auto !important; }

  /* Constrain any absolutely positioned decorative floats in hero */
  main .e-con.e-parent > .elementor-widget[style*="position:absolute"],
  main .e-con.e-parent > .elementor-widget.aux-position-absolute {
    position: static !important;
  }

  /* News/media cards: contain images within card width */
  .elementor-widget-image-carousel img,
  .swiper-slide img,
  article img,
  .aux-post-media img { max-width: 100% !important; height: auto !important; object-fit: cover; }

  /* Client logos row: allow wrap and scroll instead of clipping */
  .elementor-widget-image-carousel .swiper,
  .elementor-widget-image-carousel .swiper-container { overflow: hidden !important; }

  /* Prevent large headings from overflowing */
  h1, h2, h3, .aux-modern-heading, .elementor-heading-title {
    word-break: normal;
    overflow-wrap: break-word;
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  main .elementor-section,
  main .e-con.e-parent,
  main .elementor-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  h1, .elementor-heading-title { font-size: clamp(24px, 7vw, 34px) !important; line-height: 1.15 !important; }
  h2 { font-size: clamp(20px, 6vw, 28px) !important; line-height: 1.2 !important; }
}

/* Teal "EMPOWERING..." section: give heading breathing room on tablet */
@media (min-width: 641px) and (max-width: 1024px) {
  .elementor-widget-aux_modern_heading,
  .aux-modern-heading { min-width: 0; }
  .aux-modern-heading-primary, .aux-modern-heading-secondary {
    white-space: normal !important;
    word-break: keep-all !important;
  }
}

/* Force two-column sections into single column on tablet/mobile so headings don't get word-broken */
@media (max-width: 1024px) {
  main .elementor-section > .elementor-container,
  main .e-con-boxed > .e-con-inner,
  main .e-con.e-parent.e-flex,
  main .e-con.e-child.e-flex {
    flex-wrap: wrap !important;
  }
  main .e-con.e-child { width: 100% !important; flex-basis: 100% !important; }
  main .elementor-column { width: 100% !important; }

  .aux-modern-heading-primary, .aux-modern-heading-secondary,
  .elementor-heading-title {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
}

/* ============ Our Services — mobile/tablet clean stacked cards ============ */
.egid-mobile-services { display: none; }
@media (max-width: 1024px) {
  .egid-mobile-services {
    display: grid;
    gap: 18px;
    padding: 24px 20px 40px;
    grid-template-columns: 1fr;
    max-width: 720px;
    margin: 0 auto;
  }
  .egid-service-card {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    text-decoration: none;
    color: #fff;
    background: #0e0e0e;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .egid-service-card:hover,
  .egid-service-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(35,196,213,0.55);
    box-shadow: 0 12px 30px rgba(0,0,0,0.5);
  }
  .egid-service-media {
    height: 180px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .egid-service-body {
    padding: 16px 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .egid-service-title {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: .02em;
    color: #fff;
    text-transform: uppercase;
  }
  .egid-service-cta {
    font-size: 12px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #23c4d5;
    white-space: nowrap;
  }
  .egid-service-cta span { margin-left: 6px; }
}
/* Tablet: push the card grid below the two-row transparent header (header ~287px tall) */
@media (min-width: 768px) and (max-width: 1024px) {
  .egid-mobile-services { padding-top: 300px !important; }
}
/* Mobile: single-row header needs less clearance */
@media (max-width: 767px) {
  .egid-mobile-services { padding-top: 150px !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .egid-mobile-services { grid-template-columns: 1fr 1fr; }
  .egid-mobile-services .egid-service-card:nth-child(3):last-child { grid-column: 1 / -1; }
  .egid-service-media { height: 200px; }
}

/* ---- Footer cleanup: hide header-style burger toggle in footer, tidy menu ---- */
.aux-elementor-footer .aux-burger-box,
.aux-elementor-footer .aux-toggle-menu-bar { display: none !important; }

.aux-elementor-footer .aux-master-menu.aux-no-js {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 22px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.aux-elementor-footer .aux-master-menu > li { display: inline-flex; }
.aux-elementor-footer .aux-master-menu > li > a {
  color: #fff;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  opacity: .85;
  padding: 6px 0;
}
.aux-elementor-footer .aux-master-menu > li > a:hover { opacity: 1; color: #23c4d5; }

@media (max-width: 1024px) {
  .aux-elementor-footer .elementor-container { flex-wrap: wrap; }
  .aux-elementor-footer .elementor-top-column { width: 100% !important; text-align: center; }
  .aux-elementor-footer .elementor-widget-social-icons .elementor-social-icons-wrapper {
    justify-content: center;
  }
  .aux-elementor-footer .aux-widget-image { display: flex; justify-content: center; }
  .aux-elementor-footer .aux-master-menu.aux-no-js { justify-content: center; }
}
