.elementor-kit-5{--e-global-color-primary:#18234A;--e-global-color-secondary:#24387E;--e-global-color-text:#FFFFFF;--e-global-color-accent:#24387E;--e-global-color-1266446:#A9D6ED;--e-global-color-e5e3334:#A9D6ED00;--e-global-color-8cf3fcf:#FFFA9F;--e-global-color-7bed742:#A7E9BC;--e-global-color-cfdcb27:#B0ECC4;--e-global-color-45bd1be:#FFFBA9;--e-global-color-5ae7e5a:#F2F6FF;--e-global-color-c408bdb:#B2DBEF;--e-global-color-678851f:#2D4AAF;--e-global-color-305d7fd:#2841A6;--e-global-color-8dcec73:#F5F5F5;--e-global-typography-primary-font-family:"Lora";--e-global-typography-primary-font-weight:normal;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-weight:normal;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:21px;--e-global-typography-text-font-weight:normal;--e-global-typography-text-line-height:32px;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:30px;--e-global-typography-d951b4b-font-family:"Poppins";--e-global-typography-d951b4b-font-size:24px;--e-global-typography-d951b4b-font-weight:500;--e-global-typography-d951b4b-text-transform:uppercase;--e-global-typography-d951b4b-line-height:24px;color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-secondary );font-family:"Poppins", Sans-serif;font-weight:500;line-height:30px;}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:128px;font-weight:500;line-height:128px;}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:80px;font-weight:700;line-height:80px;}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-family:"Lora", Sans-serif;font-size:40px;font-weight:500;line-height:40px;}.elementor-kit-5 h4{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:24px;font-weight:600;line-height:24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1360px;}.e-con{--container-max-width:1360px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 a{font-size:18px;}.elementor-kit-5 h1{font-size:60px;line-height:60px;}.elementor-kit-5 h2{font-size:40px;line-height:40px;}.elementor-kit-5 h3{font-size:28px;line-height:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 h1{font-size:40px;line-height:40px;}.elementor-kit-5 h2{font-size:32px;line-height:32px;}.elementor-kit-5 h3{font-size:24px;line-height:24px;}.elementor-kit-5 h4{font-size:20px;line-height:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html, body{
  overflow-x: clip;
}

@supports not (overflow: clip){
  html, body{ overflow-x: hidden; }
}


p{
    margin-bottom: 0px!important;
}

/* Base header styling */
#header-bar .header-internal{
  border: 1px solid transparent;
  transition: background .3s ease, backdrop-filter .3s ease, margin .3s ease, box-shadow .3s ease, border-color .3s ease;
  z-index: 1000;
}

/* Sticky glass effect */
#header-bar.elementor-sticky--effects .header-internal{
  background: rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
  margin: 10px 40px !important;
  border-radius: 12px;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 12px 30px rgba(16,24,40,.06), 0 2px 8px rgba(16,24,40,.04);
  transform: translateY(0);
  position: relative;
}

/* Glass noise texture overlay */
#header-bar.elementor-sticky--effects .header-internal::after{
  content:"";
  position:absolute; inset:0; border-radius:12px; pointer-events:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><filter id='n'><feTurbulence baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0 0.03 0'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.4;
}

/* Subtle hover lift */
#header-bar.elementor-sticky--effects .header-internal:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(16,24,40,.08), 0 3px 10px rgba(16,24,40,.05);
}

/* Menu links in sticky: dark for readability */
#header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a{
  color: #18234A !important;
}

/* Smooth reveal animation */
#header-bar.elementor-sticky--effects .header-internal{
  animation: headerReveal .35s ease forwards;
}
@keyframes headerReveal{
  from{ opacity:0; transform: translateY(-6px); }
  to{ opacity:1; transform: translateY(0); }
}

/* Mobile */
@media(max-width:768px){
  #header-bar.elementor-sticky--effects .header-internal{
    margin: 6px 10px !important;
    background: rgba(255,255,255,.85) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
  }

  #header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a{
    color: #18234A !important;
  }
}

/* Fallback if browser has no blur support */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #header-bar.elementor-sticky--effects .header-internal{
    background: rgba(255,255,255,.95) !important;
  }
}




/* Base header styling */
#header-bar .header-internal{
  border: 1px solid transparent;
  transition: background .3s ease, backdrop-filter .3s ease, margin .3s ease, box-shadow .3s ease, border-color .3s ease;
  z-index: 1000;
}

/* Sticky glass effect */
#header-bar.elementor-sticky--effects .header-internal{
  background: rgba(255,255,255,.62) !important;
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
  margin: 10px 40px !important;
  border-radius: 12px;
  border-color: rgba(0,0,0,.08);
  box-shadow: 0 12px 30px rgba(16,24,40,.06), 0 2px 8px rgba(16,24,40,.04);
  transform: translateY(0);
  position: relative;
}

/* Glass noise texture overlay */
#header-bar.elementor-sticky--effects .header-internal::after{
  content:"";
  position:absolute; inset:0; border-radius:12px; pointer-events:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><filter id='n'><feTurbulence baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0 0 0 0.03 0'/></feComponentTransfer></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.4;
}

/* Subtle hover lift */
#header-bar.elementor-sticky--effects .header-internal:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(16,24,40,.08), 0 3px 10px rgba(16,24,40,.05);
}

/* Menu links in sticky: dark for readability */
#header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a{
  color: #18234A !important;
}

/* Smooth reveal animation */
#header-bar.elementor-sticky--effects .header-internal{
  animation: headerReveal .35s ease forwards;
}
@keyframes headerReveal{
  from{ opacity:0; transform: translateY(-6px); }
  to{ opacity:1; transform: translateY(0); }
}

/* Mobile */
@media(max-width:768px){
  #header-bar.elementor-sticky--effects .header-internal{
    margin: 6px 10px !important;
    background: rgba(255,255,255,.85) !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
  }

  #header-bar.elementor-sticky--effects .header-internal .sticky-menu-items ul li a{
    color: #18234A !important;
  }
}

/* Fallback if browser has no blur support */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  #header-bar.elementor-sticky--effects .header-internal{
    background: rgba(255,255,255,.95) !important;
  }
}


/* =========================================
   JetMenu mobile: voorkom clipping door overflow wrappers
   (werkt samen met jouw nieuwe header CSS)
   ========================================= */

@media (max-width: 768px){

  /* 1) Als menu open is: wrappers mogen NIET clippen */
  body.jet-mobile-menu-visible .jet-mega-menu-location,
  body.jet-mobile-menu-visible .jet-mega-menu-location *,
  body.jet-mobile-menu-visible header,
  body.jet-mobile-menu-visible #header-bar,
  body.jet-mobile-menu-visible #header-bar *{
    overflow: visible !important;
  }

  /* 2) Cover altijd fullscreen boven alles */
  body.jet-mobile-menu-visible .jet-mobile-menu-cover{
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    background: rgba(0,0,0,.6) !important;
  }

  /* 3) Paneel altijd fullscreen (geen margins/offsets) */
  body.jet-mobile-menu-visible .jet-mobile-menu__container{
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    border-radius: 0 !important;

    z-index: 1000000 !important;

    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* 4) Elementor widget wrapper geen padding/margin */
  body.jet-mobile-menu-visible .elementor-widget-jet-mega-menu,
  body.jet-mobile-menu-visible .elementor-widget-jet-mega-menu .elementor-widget-container{
    margin: 0 !important;
    padding: 0 !important;
  }
}



/* Service card shadow */
.shadow-container1{
  background: #fff;
  border-radius: 16px;
  box-shadow:
    0 10px 30px rgba(16,24,40,.08),
    0 2px 10px rgba(16,24,40,.06);
  transition: box-shadow .35s ease, transform .35s ease;
  will-change: transform;
}

.shadow-container1:hover{
  transform: translateY(-2px);
  box-shadow:
    0 16px 45px rgba(16,24,40,.12),
    0 6px 18px rgba(16,24,40,.08);
}

/* Icon circle shadow (Elementor icon widget) */
.shadow-icon1 .elementor-icon{
  border-radius: 50% !important;
  overflow: hidden; /* keep it perfectly round */
  box-shadow:
    0 10px 25px rgba(16,24,40,.10),
    0 2px 8px rgba(16,24,40,.08);
  transition: box-shadow .35s ease, transform .35s ease;
  will-change: transform;
}

.shadow-container1:hover .shadow-icon1 .elementor-icon{
  transform: translateY(-2px);
  box-shadow:
    0 14px 35px rgba(16,24,40,.14),
    0 6px 14px rgba(16,24,40,.10);
}

/* Optional: if Elementor uses wrapper instead */
.shadow-icon1 .elementor-icon-wrapper{
  border-radius: 50% !important;
}


/* =========================================================
   Marquee — pixel-perfect (JS sets --marquee-distance)
   Structure:
   .marquee-points-container
     .marquee-track
       .marquee-group (set 1)
       .marquee-group (set 2, exact duplicate)
   ========================================================= */

.marquee-points-container{
  width: 100%;
  overflow: hidden;
}

/* Track = enige element dat beweegt */
.marquee-points-container .marquee-track{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0 !important;              /* geen gap op track */
  width: max-content !important;
  will-change: transform;

  /* JS vult deze */
  --marquee-distance: 0px;
  --marquee-duration: 18s;

  animation: marquee-px var(--marquee-duration) linear infinite;
  transform: translate3d(0,0,0);
}

/* Elke group bepaalt de spacing */
.marquee-points-container .marquee-group{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;

  gap: 30px !important;
  padding-right: 30px !important;  /* naad-ruimte gelijk houden */

  width: max-content !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

/* Pills: nooit wrappen of shrinken */
.marquee-points-container .marquee-points,
.marquee-points-container .marquee-points .elementor-widget-container{
}

/* Headings kunnen default margins hebben: kill */
.marquee-points-container .marquee-points h1,
.marquee-points-container .marquee-points h2,
.marquee-points-container .marquee-points h3,
.marquee-points-container .marquee-points h4,
.marquee-points-container .marquee-points h5,
.marquee-points-container .marquee-points h6,
.marquee-points-container .marquee-points p{
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Pixel-exact bewegen */
@keyframes marquee-px{
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(calc(-1 * var(--marquee-distance)), 0, 0); }
}

/* Pause on hover (desktop) */
@media (hover:hover){
  .marquee-points-container:hover .marquee-track{
    animation-play-state: paused;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .marquee-points-container .marquee-track{
    animation: none !important;
    transform: none !important;
  }
}

/* Default: niet lopen tot JS klaar is */
.marquee-points-container .marquee-track{
  animation-play-state: paused !important;
}

/* JS zet .is-ready op de container */
.marquee-points-container.is-ready .marquee-track{
  animation-play-state: running !important;
}


.marquee-points-container{
  display: flex;
  justify-content: flex-start !important;
}

.marquee-track{
  justify-content: flex-start !important;
  margin-left: 0 !important;
}
.marquee-points-container,
.marquee-points-container *{
  justify-content: flex-start !important;
}/* End custom CSS */