.elementor-kit-6{--e-global-color-primary:#16295E;--e-global-color-secondary:#0D1A3D;--e-global-color-text:#0F1729;--e-global-color-accent:#D9632E;--e-global-color-10d2e9b:#FFFFFF;--e-global-color-f8fa775:#000000;--e-global-color-4c96edb:#D9632E;--e-global-color-0b94b89:#F5F1EA;--e-global-color-bd6302b:#16295E;--e-global-color-vbcanvas:#FCFCFB;--e-global-color-vbgrey:#F0F2F5;--e-global-color-vbsand:#F2E8DA;--e-global-color-vbsand2:#E4D3BC;--e-global-color-vbline:#E1E4EA;--e-global-color-vbmuted:#5A6274;--e-global-color-vbaccent2:#BF5424;--e-global-color-vbsoft:#FBEDE5;--e-global-color-vbpeach:#F2A27C;--e-global-color-vbondark:#F5F1EA;--e-global-color-vbwhite2:#FFFFFFD6;--e-global-color-vbwhite3:#FFFFFF24;--e-global-color-vbtint:#0D1A3DB8;--e-global-color-vbnone:#FFFFFF00;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-size:clamp(34px, 3.8vw, 54px);--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.02em;--e-global-typography-primary-letter-spacing:-0.03em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-size:16px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1em;--e-global-typography-vbh1hero-font-family:"Bricolage Grotesque";--e-global-typography-vbh1hero-font-size:clamp(44px, 6vw, 84px);--e-global-typography-vbh1hero-font-weight:800;--e-global-typography-vbh1hero-line-height:1.02em;--e-global-typography-vbh1hero-letter-spacing:-0.03em;--e-global-typography-vbh1-font-family:"Bricolage Grotesque";--e-global-typography-vbh1-font-size:clamp(40px, 4.6vw, 64px);--e-global-typography-vbh1-font-weight:700;--e-global-typography-vbh1-line-height:1.02em;--e-global-typography-vbh1-letter-spacing:-0.03em;--e-global-typography-vbh2-font-family:"Bricolage Grotesque";--e-global-typography-vbh2-font-size:clamp(34px, 3.8vw, 54px);--e-global-typography-vbh2-font-weight:700;--e-global-typography-vbh2-line-height:1.02em;--e-global-typography-vbh2-letter-spacing:-0.03em;--e-global-typography-vbh2s-font-family:"Bricolage Grotesque";--e-global-typography-vbh2s-font-size:clamp(30px, 3vw, 42px);--e-global-typography-vbh2s-font-weight:700;--e-global-typography-vbh2s-line-height:1.05em;--e-global-typography-vbh2s-letter-spacing:-0.03em;--e-global-typography-vbh3big-font-family:"Bricolage Grotesque";--e-global-typography-vbh3big-font-size:30px;--e-global-typography-vbh3big-font-weight:700;--e-global-typography-vbh3big-line-height:1.05em;--e-global-typography-vbh3big-letter-spacing:-0.025em;--e-global-typography-vbh3-font-family:"Bricolage Grotesque";--e-global-typography-vbh3-font-size:22px;--e-global-typography-vbh3-font-weight:700;--e-global-typography-vbh3-line-height:1.15em;--e-global-typography-vbh3-letter-spacing:-0.02em;--e-global-typography-vbh3s-font-family:"Bricolage Grotesque";--e-global-typography-vbh3s-font-size:20px;--e-global-typography-vbh3s-font-weight:700;--e-global-typography-vbh3s-line-height:1.2em;--e-global-typography-vbh3s-letter-spacing:-0.015em;--e-global-typography-vbquote-font-family:"Bricolage Grotesque";--e-global-typography-vbquote-font-size:clamp(30px, 3.2vw, 44px);--e-global-typography-vbquote-font-weight:700;--e-global-typography-vbquote-line-height:1.1em;--e-global-typography-vbquote-letter-spacing:-0.03em;--e-global-typography-vbnum-font-family:"Bricolage Grotesque";--e-global-typography-vbnum-font-size:40px;--e-global-typography-vbnum-font-weight:800;--e-global-typography-vbnum-line-height:1em;--e-global-typography-vbnum-letter-spacing:-0.04em;--e-global-typography-vbcount-font-family:"Bricolage Grotesque";--e-global-typography-vbcount-font-size:26px;--e-global-typography-vbcount-font-weight:800;--e-global-typography-vbcount-line-height:1em;--e-global-typography-vbcount-letter-spacing:-0.02em;--e-global-typography-vbbrand-font-family:"Bricolage Grotesque";--e-global-typography-vbbrand-font-size:22px;--e-global-typography-vbbrand-font-weight:800;--e-global-typography-vbbrand-line-height:1em;--e-global-typography-vbbrand-letter-spacing:-0.03em;--e-global-typography-vbbody-font-family:"Plus Jakarta Sans";--e-global-typography-vbbody-font-size:17px;--e-global-typography-vbbody-font-weight:400;--e-global-typography-vbbody-line-height:1.6em;--e-global-typography-vblead-font-family:"Plus Jakarta Sans";--e-global-typography-vblead-font-size:18.5px;--e-global-typography-vblead-font-weight:400;--e-global-typography-vblead-line-height:1.6em;--e-global-typography-vbart-font-family:"Plus Jakarta Sans";--e-global-typography-vbart-font-size:17.5px;--e-global-typography-vbart-font-weight:400;--e-global-typography-vbart-line-height:1.65em;--e-global-typography-vb15-font-family:"Plus Jakarta Sans";--e-global-typography-vb15-font-size:15.5px;--e-global-typography-vb15-font-weight:400;--e-global-typography-vb15-line-height:1.5em;--e-global-typography-vbsmall-font-family:"Plus Jakarta Sans";--e-global-typography-vbsmall-font-size:14px;--e-global-typography-vbsmall-font-weight:400;--e-global-typography-vbsmall-line-height:1.5em;--e-global-typography-vbnote-font-family:"Plus Jakarta Sans";--e-global-typography-vbnote-font-size:13.5px;--e-global-typography-vbnote-font-weight:400;--e-global-typography-vbnote-line-height:1.45em;--e-global-typography-vbmenu-font-family:"Plus Jakarta Sans";--e-global-typography-vbmenu-font-size:15px;--e-global-typography-vbmenu-font-weight:600;--e-global-typography-vbmenu-line-height:1em;--e-global-typography-vbmenumob-font-family:"Bricolage Grotesque";--e-global-typography-vbmenumob-font-size:21px;--e-global-typography-vbmenumob-font-weight:700;--e-global-typography-vbmenumob-line-height:1.2em;--e-global-typography-vbbold-font-family:"Plus Jakarta Sans";--e-global-typography-vbbold-font-size:15.5px;--e-global-typography-vbbold-font-weight:700;--e-global-typography-vbbold-line-height:1.3em;--e-global-typography-vbtag-font-family:"Plus Jakarta Sans";--e-global-typography-vbtag-font-size:12px;--e-global-typography-vbtag-font-weight:700;--e-global-typography-vbtag-text-transform:uppercase;--e-global-typography-vbtag-line-height:1em;--e-global-typography-vbtag-letter-spacing:0.04em;--e-global-typography-vblink-font-family:"Plus Jakarta Sans";--e-global-typography-vblink-font-size:16px;--e-global-typography-vblink-font-weight:700;--e-global-typography-vblink-line-height:1.2em;--e-global-typography-vbtrust-font-family:"Bricolage Grotesque";--e-global-typography-vbtrust-font-size:18px;--e-global-typography-vbtrust-font-weight:700;--e-global-typography-vbtrust-line-height:1.2em;background-color:#FCFCFB;color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", system-ui, sans-serif;font-size:17px;font-weight:400;line-height:1.6em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Plus Jakarta Sans", system-ui, sans-serif;font-size:16px;font-weight:700;line-height:1em;color:var( --e-global-color-10d2e9b );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-accent );border-radius:8px 8px 8px 8px;padding:17px 26px 17px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-vbaccent2 );color:var( --e-global-color-10d2e9b );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-vbaccent2 );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh1-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh1-font-size );font-weight:var( --e-global-typography-vbh1-font-weight );line-height:var( --e-global-typography-vbh1-line-height );letter-spacing:var( --e-global-typography-vbh1-letter-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh2-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh2-font-size );font-weight:var( --e-global-typography-vbh2-font-weight );line-height:var( --e-global-typography-vbh2-line-height );letter-spacing:var( --e-global-typography-vbh2-letter-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh3-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh3-font-size );font-weight:var( --e-global-typography-vbh3-font-weight );line-height:var( --e-global-typography-vbh3-line-height );letter-spacing:var( --e-global-typography-vbh3-letter-spacing );}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh3s-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh3s-font-size );font-weight:var( --e-global-typography-vbh3s-font-weight );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh3s-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh3s-font-size );font-weight:var( --e-global-typography-vbh3s-font-weight );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-vbh3s-font-family ), system-ui, sans-serif;font-size:var( --e-global-typography-vbh3s-font-size );font-weight:var( --e-global-typography-vbh3s-font-weight );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}.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);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-vbh3big-font-size:28px;font-size:17px;line-height:1.6em;}.elementor-kit-6 h1{font-size:var( --e-global-typography-vbh1-font-size );line-height:var( --e-global-typography-vbh1-line-height );letter-spacing:var( --e-global-typography-vbh1-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-vbh2-font-size );line-height:var( --e-global-typography-vbh2-line-height );letter-spacing:var( --e-global-typography-vbh2-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-vbh3-font-size );line-height:var( --e-global-typography-vbh3-line-height );letter-spacing:var( --e-global-typography-vbh3-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h5{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;line-height:1em;padding:17px 26px 17px 26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:24px;--container-default-padding-bottom:0px;--container-default-padding-left:24px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-text-font-size:16.5px;--e-global-typography-vbh1hero-font-size:44px;--e-global-typography-vbh1-font-size:40px;--e-global-typography-vbh2-font-size:34px;--e-global-typography-vbh2s-font-size:30px;--e-global-typography-vbh3big-font-size:26px;--e-global-typography-vbh3-font-size:20px;--e-global-typography-vbh3s-font-size:19px;--e-global-typography-vbquote-font-size:30px;--e-global-typography-vbcount-font-size:22px;--e-global-typography-vbbrand-font-size:20px;--e-global-typography-vbbody-font-size:16.5px;--e-global-typography-vblead-font-size:17px;--e-global-typography-vbart-font-size:16.5px;font-size:16.5px;line-height:1.6em;}.elementor-kit-6 h1{font-size:var( --e-global-typography-vbh1-font-size );line-height:var( --e-global-typography-vbh1-line-height );letter-spacing:var( --e-global-typography-vbh1-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-vbh2-font-size );line-height:var( --e-global-typography-vbh2-line-height );letter-spacing:var( --e-global-typography-vbh2-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-vbh3-font-size );line-height:var( --e-global-typography-vbh3-line-height );letter-spacing:var( --e-global-typography-vbh3-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h5{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 h6{font-size:var( --e-global-typography-vbh3s-font-size );line-height:var( --e-global-typography-vbh3s-line-height );letter-spacing:var( --e-global-typography-vbh3s-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:16px;line-height:1em;padding:17px 24px 17px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:16px;--container-default-padding-bottom:0px;--container-default-padding-left:16px;}}/* Start custom CSS *//* webler · Van den Borne — Site Settings → Custom CSS (from design/final/v3.css + v3-pages.css).
   Only what Elementor has no setting for; every block says why. Colours come from the kit (var(--e-global-color-…)). */

/* 1 Calm line breaks and paragraphs */
.elementor-heading-title { text-wrap: balance; }
.elementor-widget-text-editor p { text-wrap: pretty; }
.elementor-widget-text-editor p:last-child, .elementor-widget-text-editor ul:last-child { margin-bottom: 0; }

/* 2 MOTION — Fade In Up = rise 16 px, 0.6 s; it starts as the part comes into view, a 0.15 s step between parts side by
      side (the widget's own "Animation Delay") — Ahmad 2026-10-13: no 1 s wait, but a gap. fill-mode both = no flicker. */
@keyframes vbFadeUp { from { opacity: 0; transform: translate3d(0, 16px, 0); } to { opacity: 1; transform: none; } }
.animated { animation-fill-mode: both; }
.animated.fadeInUp { animation-name: vbFadeUp; animation-duration: .6s; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }
@media (prefers-reduced-motion: reduce) { .animated { animation: none !important; opacity: 1 !important; transform: none !important; } }

/* 3 HEADER — white, sticky, a hairline under it. Hover, the active page and an open dropdown share ONE shape: a 3 px
      orange line under the word. The wordmark's orange full stop. (The logo replaces the wordmark later.) */
body.admin-bar .elementor-location-header { position: relative; }
.vb-nav .elementor-item::after { height: 3px !important; bottom: 0 !important; }
.vb-nav .elementor-nav-menu--main .elementor-item { padding-left: 0 !important; padding-right: 0 !important; white-space: nowrap; }
.vb-nav .elementor-nav-menu--main > .elementor-nav-menu > li.menu-item-has-children:hover > .elementor-item::after { opacity: 1; transform: scale(1); }
.vb-nav .elementor-nav-menu--main .sub-menu { padding: 10px !important; min-width: 250px !important; border-radius: 8px; }
.vb-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item { border-radius: 6px; border-left: 0 !important; }
.vb-nav .elementor-item .sub-arrow { font-size: 10px; margin-inline-start: 4px; }
.vb-dot { color: var(--e-global-color-accent); }
.vb-brand .elementor-heading-title a { color: inherit; }
.vb-brand-sub .elementor-heading-title { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; }
.vb-hdr-tel { padding-left: 22px; border-left: 1px solid var(--e-global-color-vbline); }
.vb-hdr-tel .elementor-icon-list-text { white-space: nowrap; }
.vb-hdr-btn .elementor-button { padding: 14px 18px; font-size: 15px; }
/* phone menu (popup): big links with a hairline, sub-menus fold out */
.vb-popnav .elementor-nav-menu--main .elementor-item { border-bottom: 1px solid var(--e-global-color-vbline); justify-content: space-between; }
.vb-popnav .elementor-nav-menu--main .sub-menu { position: static !important; width: auto !important; box-shadow: none !important; }
.vb-popnav .elementor-nav-menu--main .sub-menu .elementor-sub-item { border-left: 0 !important; }

/* 4 BUTTONS — the four house Types. Every Button widget has one Type and no styling of its own; size, font and radius
      come from Site Settings → Buttons, colours here.
      Fill 1st color – lightbg   = primary        brick fill, white text       (the main action, also on navy and photos)
      Border 1st color – lightbg = black-outline  navy outline + text          (second action on light)
      Border 2nd color – darkbg  = white-outline  light outline + text         (second action on navy / photos)
      Fill 2nd color – darkbg    = white-fill     light fill, navy text        (a calm action on navy)
   Colours: Knop — 1e kleur (4c96edb, brick) · Knop — 2e kleur (0b94b89, light) · Knop — tekst op 2e kleur (bd6302b, navy).
   !important: the base's Customizer CSS carries older versions of these Types with !important; these win. */
.elementor-widget-button .elementor-button { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.elementor-widget-button .elementor-button .elementor-button-content-wrapper { gap: 10px; }
.elementor-widget-button .elementor-button .elementor-button-icon { font-size: .95em; transition: transform .2s ease; }
.elementor-widget-button .elementor-button .elementor-button-icon svg { width: 1em; height: 1em; }
.elementor-widget-button .elementor-button:hover .fa-arrow-right, .elementor-widget-button .elementor-button:hover .e-fas-arrow-right { transform: translateX(4px); }
.elementor-button-primary .elementor-button { background-color: var(--e-global-color-4c96edb) !important; color: var(--e-global-color-10d2e9b) !important; border-color: var(--e-global-color-4c96edb) !important; }
.elementor-button-primary .elementor-button:hover, .elementor-button-primary .elementor-button:focus-visible { background-color: var(--e-global-color-vbaccent2) !important; border-color: var(--e-global-color-vbaccent2) !important; color: var(--e-global-color-10d2e9b) !important; }
.elementor-button-black-outline .elementor-button { background-color: transparent !important; color: var(--e-global-color-primary) !important; border-color: var(--e-global-color-primary) !important; }
.elementor-button-black-outline .elementor-button:hover, .elementor-button-black-outline .elementor-button:focus-visible { background-color: var(--e-global-color-primary) !important; border-color: var(--e-global-color-primary) !important; color: var(--e-global-color-10d2e9b) !important; }
.elementor-button-white-outline .elementor-button { background-color: transparent !important; color: var(--e-global-color-10d2e9b) !important; border-color: rgba(255,255,255,.55) !important; }
.elementor-button-white-outline .elementor-button:hover, .elementor-button-white-outline .elementor-button:focus-visible { background-color: rgba(255,255,255,.14) !important; border-color: var(--e-global-color-10d2e9b) !important; color: var(--e-global-color-10d2e9b) !important; }
.elementor-button-white-outline .elementor-button:hover .elementor-button-icon, .elementor-button-white-outline .elementor-button:hover svg { color: var(--e-global-color-10d2e9b) !important; fill: var(--e-global-color-10d2e9b) !important; }
.elementor-button-white-fill .elementor-button { background-color: var(--e-global-color-0b94b89) !important; color: var(--e-global-color-bd6302b) !important; border-color: var(--e-global-color-0b94b89) !important; }
.elementor-button-white-fill .elementor-button:hover, .elementor-button-white-fill .elementor-button:focus-visible { background-color: var(--e-global-color-10d2e9b) !important; border-color: var(--e-global-color-10d2e9b) !important; }

/* 5 TEXT LINKS — not buttons: a Text (or Heading) widget with class vb-link: navy text + an orange arrow that slides. */
.vb-link p { margin: 0; }
.vb-link a, .vb-link a:hover { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.vb-link a::after { content: ""; width: 18px; height: 18px; background: var(--e-global-color-accent); transition: transform .2s ease;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.vb-link a:hover::after { transform: translateX(4px); }
.vb-link--light a::after { background: var(--e-global-color-vbpeach); }
.vb-insta-link a, .vb-wa-link a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.vb-insta-link i { color: var(--e-global-color-accent); }
.vb-wa-link i { color: var(--e-global-color-vbpeach); }

/* 6 SMALL MARKS — the placeholder note (dot), the hero pill, "Specialiteit", the VAT badge, the step number, the
      highlighted words in Harm's quote, the photo caption, the white checks in orange circles */
.vb-note p { display: flex; gap: 8px; align-items: baseline; }
.vb-note p::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--e-global-color-accent); flex: none; transform: translateY(-1px); }
/* the pill is drawn on the widget's inner box: the widget's own bottom margin (space to the H1) stays outside it */
.vb-pill > .elementor-widget-container { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 30px; padding: 9px 15px; }
.vb-pill .elementor-icon-list-items { line-height: 1; }
.vb-pill .elementor-icon-list-items, .vb-pill .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.vb-pill .elementor-icon-list-item { display: inline-flex !important; align-items: center !important; gap: 8px; line-height: 1.2; }
.vb-pill .elementor-icon-list-icon { top: 0 !important; transform: none !important; align-self: center !important; width: auto !important; min-width: 0 !important; }
.vb-pill .elementor-icon-list-icon svg { width: 14px; height: 14px; }
.vb-pill .elementor-icon-list-text { padding-inline-start: 0 !important; font-size: 14px; }
.vb-spec { display: inline-block; vertical-align: middle; margin-left: 8px; font: 700 11.5px/1 "Plus Jakarta Sans", sans-serif; letter-spacing: .04em;
  text-transform: uppercase; color: #fff; background: var(--e-global-color-accent); padding: 5px 8px; border-radius: 20px; }
.vb-badge .elementor-heading-title { display: inline-block; background: var(--e-global-color-vbsand); border-radius: 30px; padding: 10px 14px; }
.vb-badge b { color: var(--e-global-color-accent); }
.vb-stepnum .elementor-heading-title { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%;
  background: var(--e-global-color-accent); border: 3px solid #fff; }
.vb-hl { color: var(--e-global-color-vbpeach); }
.vb-who small { font-weight: 500; opacity: .75; }
.vb-cap .elementor-heading-title { background: var(--e-global-color-vbtint); padding: 7px 12px; border-radius: 20px; }
.vb-checks .elementor-icon-list-item { align-items: center !important; }
.vb-checks .elementor-icon-list-icon { width: 26px; height: 26px; min-width: 26px; border-radius: 50%; background: var(--e-global-color-accent);
  display: inline-flex !important; align-items: center; justify-content: center; top: 0 !important; align-self: center !important; }
.vb-checks .elementor-icon-list-icon i, .vb-checks .elementor-icon-list-icon svg { width: 12px !important; font-size: 12px; color: #fff; fill: #fff; }
.vb-checks .elementor-icon-list-icon svg { width: 12px; height: 12px; }

/* 7 HOMEPAGE — hero tint on the phone (vertical), service rows (the arrow circle turns orange), cards that lift */
@media (max-width: 767px) { .vb-hero::before { background: linear-gradient(180deg, rgba(13,26,61,.55), rgba(13,26,61,.85)) !important; } }
.vb-svc .vb-go .elementor-icon { transition: background-color .2s ease, color .2s ease; }
.vb-svc:hover .vb-go .elementor-icon { background-color: var(--e-global-color-accent) !important; fill: #fff !important; color: #fff !important; }
.vb-svc:hover .vb-go .elementor-icon svg, .vb-svc:hover .vb-go .elementor-icon i { fill: #fff !important; color: #fff !important; }
.vb-svc:hover .vb-svc-name .elementor-heading-title { color: var(--e-global-color-primary); }
.vb-svc--dark:hover .vb-svc-name .elementor-heading-title { color: #fff; }
.vb-over { transition: transform .3s ease; }
.vb-over:hover { transform: translateY(-3px); }
.vb-card img, .vb-feat img { transition: transform .3s ease; }
.vb-card:hover img, .vb-feat:hover img { transform: scale(1.03); }
.vb-card .elementor-widget-theme-post-featured-image, .vb-feat .elementor-widget-theme-post-featured-image { overflow: hidden; border-radius: 8px; }
.vb-feat .elementor-widget-theme-post-featured-image { border-radius: 0; height: 100%; }
.vb-feat .elementor-widget-theme-post-featured-image img { height: 100% !important; min-height: 420px; }
.vb-oth { transition: border-color .2s ease; }
.vb-oth:hover { border-color: var(--e-global-color-primary) !important; }

.vb-harm::before { background: linear-gradient(270deg, rgba(13,26,61,.92) 0%, rgba(13,26,61,.8) 42%, rgba(13,26,61,0) 66%) !important; opacity: 1 !important; }
@media (max-width: 1024px) { .vb-harm::before { background: rgba(13,26,61,.78) !important; } }

/* 8 FAQ — white rounded tiles, the open one with an orange edge (nested accordion) */
.vb-faq .e-n-accordion-item { border: 1px solid var(--e-global-color-vbline); border-radius: 8px; margin-bottom: 12px; background: #fff; overflow: hidden; }
.vb-faq .e-n-accordion-item[open] { border-color: var(--e-global-color-accent); box-shadow: inset 4px 0 0 var(--e-global-color-accent); }
.vb-faq .e-n-accordion-item-title { padding: 22px 24px !important; border: 0 !important; background: transparent !important; }
.vb-faq .e-n-accordion-item-title-text { font: 700 19px/1.3 "Bricolage Grotesque", sans-serif; letter-spacing: -.01em; color: var(--e-global-color-text); }
.vb-faq .e-n-accordion-item-title-icon { color: var(--e-global-color-accent); fill: var(--e-global-color-accent); }
.vb-faq .e-n-accordion-item > .e-con { border: 0 !important; color: var(--e-global-color-vbmuted); }
@media (max-width: 767px) { .vb-faq .e-n-accordion-item-title { padding: 18px !important; } .vb-faq .e-n-accordion-item-title-text { font-size: 17.5px; } }

/* 9 CONTACT BLOCK + CONTACT PAGE — tile text, the rows of the navy panel, the form, the place chips */
.vb-tile-t small, .vb-crow-t small { display: block; font-weight: 400; font-size: 13.5px; opacity: .7; margin-bottom: 2px; }
.vb-tile-t b { word-break: break-word; }
.vb-crow-t .vb-plain { font-weight: 500; font-size: 15px; line-height: 1.55; opacity: .9; }
a.vb-tile:hover { background-color: rgba(255,255,255,.14) !important; }
.vb-siderows .elementor-icon-list-item { padding: 12px 0 !important; border-top: 1px solid rgba(255,255,255,.14); }
.vb-siderows .elementor-icon-list-item:last-child .elementor-icon-list-text { font-weight: 500; font-size: 14.5px; opacity: .8; }
body:has(.vb-overlap) .vb-slim { padding-bottom: 150px !important; }   /* the contact card overlaps the slim hero */
@media (max-width: 767px) { body:has(.vb-overlap) .vb-slim { padding-bottom: 124px !important; } }
.vb-form .elementor-field-textual, .vb-form select { border-radius: 6px !important; border-width: 1.5px !important; padding: 13px 14px !important; }
.vb-form .elementor-field-textual:focus, .vb-form select:focus { border-color: var(--e-global-color-primary) !important; background: #fff !important; }
.vb-form .elementor-field-type-radio .elementor-field-subgroup { gap: 10px; }
.vb-form .elementor-field-type-radio .elementor-field-option { border: 1.5px solid var(--e-global-color-vbline); border-radius: 6px; padding: 10px 14px; margin: 0 !important; }
.vb-form input[type=radio], .vb-form input[type=checkbox] { accent-color: var(--e-global-color-accent); }
.vb-form .elementor-field-type-acceptance label { font-weight: 400 !important; font-size: 13.5px; color: var(--e-global-color-vbmuted); }
.vb-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.vb-chips span { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--e-global-color-vbsand2); padding: 11px 16px; border-radius: 30px; }
.vb-chips span::before { content: ""; width: 14px; height: 14px; background: var(--e-global-color-accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.vb-chips span.is-home { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); color: #fff; }
.vb-chips span.is-home::before { background: var(--e-global-color-vbpeach); }

/* 10 SLIM HERO + PROJECTS — breadcrumb, the place with a pin, the services as small pills, the facts rows */
.vb-crumb a { color: inherit; text-decoration: none; }
.vb-crumb a:hover { color: #fff; text-decoration: underline; }
.vb-place .elementor-heading-title { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.vb-place .elementor-heading-title:empty { display: none; }
.vb-place .elementor-heading-title::before { content: ""; width: 15px; height: 15px; background: var(--e-global-color-accent); flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.vb-place--light .elementor-heading-title::before { background: var(--e-global-color-vbpeach); }
.vb-terms .elementor-post-info__terms-list { font-size: 0; display: inline-flex; flex-wrap: wrap; gap: 8px; }
.vb-terms .elementor-post-info__terms-list-item { font-size: 13.5px; line-height: 1; padding: 7px 11px; border-radius: 30px; background: #fff;
  border: 1px solid var(--e-global-color-vbsand2); color: var(--e-global-color-primary); }
.vb-terms--light .elementor-post-info__terms-list-item { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
.vb-terms--plain .elementor-post-info__terms-list { font-size: 15.5px; display: inline; }
.vb-terms--plain .elementor-post-info__terms-list-item { all: unset; font-size: 15.5px; font-weight: 700; color: var(--e-global-color-text); }
.vb-terms .elementor-icon-list-icon { display: none; }
.vb-fact .elementor-heading-title { display: grid; grid-template-columns: 1fr 1.3fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--e-global-color-vbline); font-weight: 700; }
.vb-fact .elementor-heading-title:empty { display: none; }
.vb-fact .vb-k, .vb-k2 p { font-weight: 400; color: var(--e-global-color-vbmuted); }
.vb-k2 { width: calc((100% - 12px) / 2.3) !important; flex: none; }
.vb-story p { margin-bottom: 1em; max-width: 38em; }

/* 11 PHOTO STRIP — the project's photos (field Foto's) one step at a time; each photo at its own shape, starting in line
      with the text and running off the right edge; under it a counter, a progress line and the arrows (made by the
      Custom Code "Van den Borne — fotostrook"). Elementor's lightbox = full screen on click. */
.vb-strip .swiper, .vb-strip .elementor-image-carousel-wrapper { overflow: hidden; }
.vb-strip.vb-ready .swiper-slide { width: auto !important; }
.vb-strip .swiper-slide-inner { position: relative; display: block; border-radius: 8px; overflow: hidden; }
.vb-strip .swiper-slide-image { display: block; height: clamp(300px, 44vh, 520px); width: auto !important; max-width: none; object-fit: cover; cursor: zoom-in; transition: transform .4s ease; }
.vb-strip:not(.vb-ready) .swiper-slide-image { width: 100% !important; }
.vb-strip .swiper-slide:hover .swiper-slide-image { transform: scale(1.03); }
.vb-strip .elementor-image-carousel-caption { position: absolute; left: 14px; bottom: 14px; background: rgba(11,20,48,.72); color: #fff;
  font: 600 13.5px/1 "Plus Jakarta Sans", sans-serif; padding: 8px 11px; border-radius: 30px; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; }
.vb-strip .swiper-slide:hover .elementor-image-carousel-caption { opacity: 1; transform: none; }
.vb-strip .elementor-image-carousel-caption:empty { display: none; }
.vb-stripbar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 18px 24px 0 0; max-width: 1280px; }
.vb-stripbar .vb-count { font: 600 15px/1 "Plus Jakarta Sans", sans-serif; color: var(--e-global-color-vbmuted); min-width: 76px; }
.vb-stripbar .vb-count b { font: 800 26px/1 "Bricolage Grotesque", sans-serif; color: var(--e-global-color-primary); letter-spacing: -.02em; }
.vb-stripbar .vb-progress { height: 3px; background: var(--e-global-color-vbline); border-radius: 3px; overflow: hidden; }
.vb-stripbar .vb-progress i { display: block; height: 100%; width: 0; background: var(--e-global-color-accent); border-radius: 3px; transition: width .8s cubic-bezier(.65,0,.35,1); }
.vb-stripbar .vb-btns { display: flex; gap: 10px; }
.vb-stripbar button { width: 48px; height: 48px; border-radius: 50% !important; border: 1.5px solid var(--e-global-color-vbline) !important; background: #fff !important;
  color: var(--e-global-color-primary) !important; display: grid; place-items: center; padding: 0 !important; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.vb-stripbar button:hover { background: var(--e-global-color-accent) !important; border-color: var(--e-global-color-accent) !important; color: #fff !important; }
.vb-stripbar svg { width: 20px; height: 20px; }
@media (max-width: 767px) {
  .vb-strip .swiper-slide-image { height: 300px; }
  .vb-strip .elementor-image-carousel-caption { opacity: 1; transform: none; font-size: 12px; }
  .vb-stripbar { gap: 14px; padding-right: 16px; }
  .vb-stripbar .vb-count b { font-size: 22px; }
}

/* 12 FIXES after the first look — footer links light on navy, the slim hero's photo behind the text (shared template),
      service pills never break inside, project-card photos fill the card, the form's send button at its own width */
.vb-ftr-links a { color: inherit; text-decoration: none; }
.vb-ftr-links a:hover { color: #fff; text-decoration: underline; }
.vb-slim { position: relative; overflow: hidden; }
.vb-slim .vb-slim-img { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; z-index: 0; }
.vb-slim .vb-slim-img .elementor-widget-container, .vb-slim .vb-slim-img img { width: 100% !important; height: 100% !important; object-fit: cover; max-width: none; border-radius: 0; }
.vb-slim::before { z-index: 1 !important; }
.vb-slim > .e-con-inner > .elementor-element:not(.vb-slim-img), .vb-slim > .elementor-element:not(.vb-slim-img) { position: relative; z-index: 2; }
.vb-slim::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,26,61,.93) 0%, rgba(13,26,61,.78) 50%, rgba(13,26,61,.5) 100%) !important; opacity: 1 !important; }
@media (max-width: 767px) { .vb-slim::before { background: rgba(13,26,61,.84) !important; } }
.vb-terms .elementor-post-info__terms-list-item { white-space: nowrap; }
.vb-card .elementor-widget-theme-post-featured-image img { width: 100% !important; object-fit: cover; }
.vb-form .elementor-field-type-submit { flex: 0 0 auto !important; width: auto !important; }
.vb-form .elementor-field-type-submit .elementor-button { padding: 17px 26px; }
.elementor-widget-loop-grid .e-loop-nothing-found-message { font-size: 15.5px; color: var(--e-global-color-vbmuted); padding: 22px 24px; border: 1px dashed var(--e-global-color-vbline); border-radius: 8px; }
@media (max-width: 767px) { .vb-form .elementor-field-type-submit { width: 100% !important; } }
/* the computer header between 1025 and 1279 px (a laptop, and the Elementor editor's canvas on a 1440 screen): the
   phone number steps aside so the menu stays on one line — it is in the menu button's popup and the footer */
@media (min-width: 1025px) and (max-width: 1279px) { .vb-hdr-tel { display: none !important; } .vb-nav .elementor-nav-menu--main > .elementor-nav-menu > li { margin-inline-end: -4px; } }
.vb-pill .elementor-icon-list-icon i, .vb-pill .elementor-icon-list-icon svg { width: auto !important; font-size: 14px; }
/* the tick sits in the middle of its orange circle; the service-row arrow is white on the orange hover circle (light and
   dark rows alike — Ahmad: "circle is orange perfect but arrow should be white") */
.vb-checks .elementor-icon-list-icon { padding: 0 !important; }
.vb-checks .elementor-icon-list-icon i, .vb-checks .elementor-icon-list-icon svg { margin: 0 !important; text-align: center; width: auto !important; }
.vb-svc:hover .vb-go .elementor-icon, .vb-svc:hover .vb-go .elementor-icon * { color: #fff !important; fill: #fff !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bricolage Grotesque';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/bricolage-grotesque-latin-wght-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Bricolage Grotesque';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/bricolage-grotesque-latin-wght-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://stukadoorsbedrijf.inthedemo.com/wp-content/uploads/2026/10/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
}
/* End Custom Fonts CSS */