.elementor-6149 .elementor-element.elementor-element-1419bb0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.75;--margin-top:-35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-1419bb0:not(.elementor-motion-effects-element-type-background), .elementor-6149 .elementor-element.elementor-element-1419bb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://francejkd.com/wp-content/uploads/2025/09/WhatsApp-Image-2025-09-13-at-21.00.35.jpeg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-6149 .elementor-element.elementor-element-1419bb0::before, .elementor-6149 .elementor-element.elementor-element-1419bb0 > .elementor-background-video-container::before, .elementor-6149 .elementor-element.elementor-element-1419bb0 > .e-con-inner > .elementor-background-video-container::before, .elementor-6149 .elementor-element.elementor-element-1419bb0 > .elementor-background-slideshow::before, .elementor-6149 .elementor-element.elementor-element-1419bb0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-6149 .elementor-element.elementor-element-1419bb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#830000;--background-overlay:'';}.elementor-6149 .elementor-element.elementor-element-80c69a0{--display:flex;--min-height:300px;--justify-content:center;overflow:visible;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}body:not(.rtl) .elementor-6149 .elementor-element.elementor-element-6084b9e{left:-90px;}body.rtl .elementor-6149 .elementor-element.elementor-element-6084b9e{right:-90px;}.elementor-6149 .elementor-element.elementor-element-6084b9e{top:15px;}.elementor-6149 .elementor-element.elementor-element-6084b9e .elementor-icon-wrapper{text-align:center;}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-stacked .elementor-icon{background-color:#FDFDFD;color:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon, .elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-default .elementor-icon{color:#FDFDFD;border-color:#FDFDFD;}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon, .elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-default .elementor-icon svg{fill:#FDFDFD;}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon{background-color:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-stacked .elementor-icon svg{fill:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-a8a9d7c );color:#FFFFFF;}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon:hover, .elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-a8a9d7c );border-color:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon:hover, .elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-framed .elementor-icon:hover{background-color:#FFFFFF;}.elementor-6149 .elementor-element.elementor-element-6084b9e.elementor-view-stacked .elementor-icon:hover svg{fill:#FFFFFF;}.elementor-6149 .elementor-element.elementor-element-6084b9e .elementor-icon{font-size:24px;}.elementor-6149 .elementor-element.elementor-element-6084b9e .elementor-icon svg{height:24px;}.elementor-widget-tp-post-title .tp-post-title a,.elementor-widget-tp-post-title .tp-post-title .tp-entry-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-tp-post-title .tp-post-title .tp-post-title-prepost{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-6149 .elementor-element.elementor-element-543d676 .tp-post-title{justify-content:center;text-align:right;}.elementor-6149 .elementor-element.elementor-element-543d676 .tp-post-title a,.elementor-6149 .elementor-element.elementor-element-543d676 .tp-post-title .tp-entry-title{font-family:"Kanit", Sans-serif;font-size:50px;font-weight:700;text-transform:uppercase;font-style:italic;color:#FFFFFF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}body:not(.rtl) .elementor-6149 .elementor-element.elementor-element-1b5bfc5{left:0px;}body.rtl .elementor-6149 .elementor-element.elementor-element-1b5bfc5{right:0px;}.elementor-6149 .elementor-element.elementor-element-1b5bfc5{top:-15px;text-align:center;}.elementor-6149 .elementor-element.elementor-element-1b5bfc5 .elementor-heading-title{font-family:"Kanit", Sans-serif;font-size:150px;font-weight:600;text-transform:uppercase;font-style:italic;-webkit-text-stroke-width:1px;stroke-width:1px;-webkit-text-stroke-color:#FFFFFF;stroke:#FFFFFF;color:#6EC1E400;}.elementor-6149 .elementor-element.elementor-element-5b5864e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:0px 0px 30px 30px;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;--z-index:1;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-5b5864e:not(.elementor-motion-effects-element-type-background), .elementor-6149 .elementor-element.elementor-element-5b5864e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-ea7ed0b );background-image:url("https://francejkd.com/wp-content/uploads/2022/03/element-31.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-6149 .elementor-element.elementor-element-effc622{--display:flex;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-19341d5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:23px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-5b66775{--display:flex;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-032db88{text-align:center;}.elementor-6149 .elementor-element.elementor-element-032db88 .elementor-heading-title{font-family:"Kanit", Sans-serif;font-size:45px;font-weight:700;text-transform:uppercase;font-style:italic;color:var( --e-global-color-a8a9d7c );}.elementor-6149 .elementor-element.elementor-element-c589eb3{text-align:center;}.elementor-6149 .elementor-element.elementor-element-c589eb3 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;line-height:20px;color:#000000;}.elementor-6149 .elementor-element.elementor-element-e511804{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 60px;--row-gap:0px;--column-gap:60px;overflow:visible;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button{background-color:#E80000;font-family:"Roboto", Sans-serif;font-weight:600;line-height:26px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E80000;border-radius:50px 50px 50px 50px;padding:11px 30px 11px 30px;}.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button:hover, .elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button:focus{background-color:#02010100;color:#E80000;}.elementor-6149 .elementor-element.elementor-element-bfccb13.elementor-element{--align-self:flex-start;}.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button-content-wrapper{flex-direction:row;}.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button .elementor-button-content-wrapper{gap:6px;}.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button:hover svg, .elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button:focus svg{fill:#E80000;}.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button{background-color:#E80000;font-family:"Roboto", Sans-serif;font-weight:600;line-height:26px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E80000;border-radius:50px 50px 50px 50px;padding:11px 30px 11px 30px;}.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button:hover, .elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button:focus{background-color:#02010100;color:#E80000;}.elementor-6149 .elementor-element.elementor-element-17ba3e9.elementor-element{--align-self:flex-start;}.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button-content-wrapper{flex-direction:row;}.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button .elementor-button-content-wrapper{gap:6px;}.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button:hover svg, .elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button:focus svg{fill:#E80000;}.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button{background-color:#E80000;font-family:"Roboto", Sans-serif;font-weight:600;line-height:26px;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#E80000;border-radius:50px 50px 50px 50px;padding:11px 30px 11px 30px;}.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button:hover, .elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button:focus{background-color:#02010100;color:#E80000;}.elementor-6149 .elementor-element.elementor-element-9a9d526.elementor-element{--align-self:flex-start;}.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button-content-wrapper{flex-direction:row;}.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button .elementor-button-content-wrapper{gap:6px;}.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button:hover svg, .elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button:focus svg{fill:#E80000;}.elementor-6149 .elementor-element.elementor-element-65aa39d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;overflow:visible;}.elementor-6149 .elementor-element.elementor-element-e21110e{padding:0px 0px 200px 0px;text-align:center;}.elementor-6149 .elementor-element.elementor-element-e21110e .elementor-heading-title{font-family:"Kanit", Sans-serif;font-weight:600;color:var( --e-global-color-a8a9d7c );}@media(min-width:768px){.elementor-6149 .elementor-element.elementor-element-5b66775{--width:59.333%;}}@media(max-width:1024px){.elementor-6149 .elementor-element.elementor-element-1b5bfc5{width:100%;max-width:100%;top:0px;}.elementor-6149 .elementor-element.elementor-element-1b5bfc5 .elementor-heading-title{font-size:135px;}.elementor-6149 .elementor-element.elementor-element-5b5864e{--border-radius:0px 0px 30px 30px;--padding-top:60px;--padding-bottom:275px;--padding-left:0px;--padding-right:0px;}.elementor-6149 .elementor-element.elementor-element-c589eb3{text-align:center;}.elementor-6149 .elementor-element.elementor-element-c589eb3 .elementor-heading-title{font-size:17px;}.elementor-6149 .elementor-element.elementor-element-65aa39d{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-6149 .elementor-element.elementor-element-e21110e{padding:10px 0px 0px 0px;}}@media(max-width:767px){.elementor-6149 .elementor-element.elementor-element-1419bb0:not(.elementor-motion-effects-element-type-background), .elementor-6149 .elementor-element.elementor-element-1419bb0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;}.elementor-6149 .elementor-element.elementor-element-1419bb0{--z-index:1;}body:not(.rtl) .elementor-6149 .elementor-element.elementor-element-1b5bfc5{left:0px;}body.rtl .elementor-6149 .elementor-element.elementor-element-1b5bfc5{right:0px;}.elementor-6149 .elementor-element.elementor-element-1b5bfc5{top:75px;}.elementor-6149 .elementor-element.elementor-element-1b5bfc5 .elementor-heading-title{font-size:68px;}.elementor-6149 .elementor-element.elementor-element-5b5864e{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-6149 .elementor-element.elementor-element-032db88{text-align:center;}.elementor-6149 .elementor-element.elementor-element-032db88 .elementor-heading-title{font-size:40px;}.elementor-6149 .elementor-element.elementor-element-65aa39d{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-6149 .elementor-element.elementor-element-e21110e .elementor-heading-title{font-size:25px;}}/* Start custom CSS for heading, class: .elementor-element-1b5bfc5 */.head{
    opacity: 0.3
}
.banner {
  position: relative; /* make sure .head positions relative to this */
}

.head {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(0%, 60%);
  text-align: center;
  width: 100%;   /* optional if you want the text spanning full container */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-bfccb13 */.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button-icon svg {
  width: 20px;
  }

/* Target the SVG inside the Elementor button icon */
.elementor-6149 .elementor-element.elementor-element-bfccb13 .elementor-button-icon svg path {
  stroke: currentColor;   /* makes stroke follow the button/icon color */
  stroke-width: 15px;      /* thickness of the SVG border */
              /* optional: removes fill so only border is visible */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-17ba3e9 */.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button-icon svg {
  width: 20px;
  }

/* Target the SVG inside the Elementor button icon */
.elementor-6149 .elementor-element.elementor-element-17ba3e9 .elementor-button-icon svg path {
  stroke: currentColor;   /* makes stroke follow the button/icon color */
  stroke-width: px;      /* thickness of the SVG border */
              /* optional: removes fill so only border is visible */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-9a9d526 */.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button-icon svg {
  width: 20px;
  }

/* Target the SVG inside the Elementor button icon */
.elementor-6149 .elementor-element.elementor-element-9a9d526 .elementor-button-icon svg path {
  stroke: currentColor;   /* makes stroke follow the button/icon color */
  stroke-width: px;      /* thickness of the SVG border */
              /* optional: removes fill so only border is visible */
}/* End custom CSS */
/* Start custom CSS for sword-gallery-two-widget, class: .elementor-element-8e8504e *//* === THEME GALLERY: overlay + icon with safe 110% image zoom === */
.gallery-item { transform: none !important; } /* avoid stacking bugs from parent transforms */

.gallery-thumb {
  position: relative; overflow: hidden; border-radius: 20px;
  backface-visibility: hidden; -webkit-font-smoothing: antialiased;
}
.gallery-thumb img {
  display:block; width:100%; height:auto; border-radius:20px;
  will-change: transform;                      
  transition: transform .25s ease !important;
  z-index:1;
}

/* No red pseudo overlays */
.gallery-thumb::before,
.gallery-thumb::after,
.gallery-overlay::before,
.gallery-overlay::after {
  content:none !important; display:none !important; background:none !important;
  opacity:0 !important; transform:none !important;
}

/* Overlay always rendered (so click area is stable), fades in on hover */
.gallery-overlay{
  position:absolute; inset:0;
  display:flex !important; align-items:center; justify-content:center;
  background: rgba(0,0,0,0.6) !important;
  border-radius:20px;
  opacity:0; visibility:hidden; pointer-events:none;
  z-index:5; transition: opacity .25s ease, visibility .25s ease;
  transform:none !important;
}
.gallery-item:hover .gallery-overlay{
  opacity:1 !important; visibility:visible !important; pointer-events:auto;
}

/* Clickable link fills overlay */
.gallery-overlay a.image-popup{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; z-index:6; pointer-events:auto;
}

/* Expand icon sits above all */
.gallery-icon{ z-index:7; }
.gallery-icon i{ font-size:32px; color:#fff; opacity:1 !important; }

/* Safe zoom on the IMAGE only */
.gallery-item:hover .gallery-thumb img{ transform: scale(1.1) !important; }

/* Add 20px padding around the gallery filter tab section */
.esg-filter-wrapper {
  padding: 20px !important;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  .gallery-filter-wrapper .filter-btn-group {
    width: 100%;
  }
}

/* === Filter button styles === */
.filter-btn-group button {
  background-color: #F7E0E5;   /* default background */
  color: #000;                 /* default text: black */
  font-weight: 600;
  padding: 15px 40px;
  border-radius: 15px !important;
  transition: all 0.3s ease;
}

/* Active state */
.filter-btn-group button.active {
  background-color: #e80000 !important;  /* solid red */
  color: #fff !important;                /* white text */
}

/* Hover (only inactive) */
.filter-btn-group button:hover:not(.active) {
  background-color: rgba(232, 0, 0, 0.15) !important; /* light red tint */
  color: #000 !important;                             /* text black */
}

/* === Button group layout === */
.filter-btn-group,
.button-group.filter-btn-group {             
  background-color: #F7E0E5 !important;
  border-radius: 12px;
  padding: 20px;
  display: flex;               
  flex-wrap: wrap;             
  justify-content: center;     
  gap: 10px;                   
}

.filter-btn-group > * {
  flex: 0 0 auto;
}


<script>
document.addEventListener('DOMContentLoaded', function () {
  // 1) Set the unique part of the image URL you want to exclude from "All"
  const EXCLUDE_SRC_PART = 'ChatGPT-Image-Oct-3-2025-01_47d03-AM.png';

  // 2) Selectors used by your theme (adjust if needed)
  const BUTTONS_SELECTOR = '.filter-btn-group button';
  const ALL_ACTIVE_SELECTOR = '.filter-btn-group button.active[data-filter="*"], .filter-btn-group button.active[data-filter=".all"]';
  const GALLERY_ITEM_SELECTOR = '.gallery-item'; // wrapper around each image

  // Tag the target item(s) with a helper class
  function markExcludedItems() {
    document.querySelectorAll(`img[src*="${EXCLUDE_SRC_PART}"]`).forEach(img => {
      const item = img.closest(GALLERY_ITEM_SELECTOR);
      if (item) item.classList.add('exclude-all');
    });
  }

  // Check if "All" is active
  function isAllActive() {
    return !!document.querySelector(ALL_ACTIVE_SELECTOR);
  }

  // Show/hide excluded items based on current filter state
  function updateExcludedVisibility() {
    document.querySelectorAll(`${GALLERY_ITEM_SELECTOR}.exclude-all`).forEach(item => {
      item.style.display = isAllActive() ? 'none' : '';
    });
  }

  // Wire up button clicks
  function bindFilterButtons() {
    document.querySelectorAll(BUTTONS_SELECTOR).forEach(btn => {
      btn.addEventListener('click', function () {
        // Let the theme switch the active class first, then update
        setTimeout(updateExcludedVisibility, 20);
      }, { passive: true });
    });
  }

  // Observe DOM changes (some themes rebuild the grid on filter)
  function watchDomChanges() {
    const observer = new MutationObserver(() => {
      markExcludedItems();        // make sure excluded item is still tagged
      updateExcludedVisibility(); // and visibility is correct
    });
    observer.observe(document.body, { subtree: true, childList: true, attributes: true });
  }

  // Init
  markExcludedItems();
  bindFilterButtons();
  watchDomChanges();
  // Apply initial state on load (many themes start with All active)
  updateExcludedVisibility();
});

</script>/* End custom CSS */