.elementor-kit-7{--e-global-color-primary:#E12319;--e-global-color-secondary:#1E6577;--e-global-color-text:#000000;--e-global-color-accent:#FBBE03;--e-global-color-d318cdb:#94CEF3;--e-global-color-c604ba0:#8F0141;--e-global-color-6ac159f:#FFFFFF;--e-global-color-8dfbfae:#94CEF340;--e-global-color-2363097:#1E6577CC;--e-global-color-4124997:#E2AB03;--e-global-color-ebf3eeb:#E4F3FC;--e-global-typography-text-font-family:"segoe-ui";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-b32504d-font-family:"Anton";--e-global-typography-b32504d-font-size:50px;--e-global-typography-b32504d-font-weight:400;--e-global-typography-b32504d-text-transform:uppercase;--e-global-typography-b32504d-text-decoration:none;--e-global-typography-b32504d-line-height:1.2em;--e-global-typography-b32504d-letter-spacing:0em;--e-global-typography-0cc5159-font-family:"Anton";--e-global-typography-0cc5159-font-size:40px;--e-global-typography-0cc5159-font-weight:400;--e-global-typography-0cc5159-text-transform:uppercase;--e-global-typography-0cc5159-text-decoration:none;--e-global-typography-0cc5159-line-height:1.2em;--e-global-typography-0cc5159-letter-spacing:0em;--e-global-typography-9d68fbe-font-family:"Anton";--e-global-typography-9d68fbe-font-size:30px;--e-global-typography-9d68fbe-font-weight:400;--e-global-typography-9d68fbe-text-transform:uppercase;--e-global-typography-9d68fbe-text-decoration:none;--e-global-typography-9d68fbe-line-height:1.2em;--e-global-typography-9d68fbe-letter-spacing:0em;--e-global-typography-852fcbb-font-family:"Anton";--e-global-typography-852fcbb-font-size:25px;--e-global-typography-852fcbb-font-weight:400;--e-global-typography-852fcbb-text-transform:none;--e-global-typography-852fcbb-text-decoration:none;--e-global-typography-852fcbb-line-height:1.2em;--e-global-typography-852fcbb-letter-spacing:0em;--e-global-typography-60560d2-font-family:"Anton";--e-global-typography-60560d2-font-size:25px;--e-global-typography-60560d2-font-weight:400;--e-global-typography-60560d2-text-transform:uppercase;--e-global-typography-60560d2-text-decoration:none;--e-global-typography-60560d2-line-height:1.2em;--e-global-typography-60560d2-letter-spacing:0em;--e-global-typography-7603282-font-size:23px;--e-global-typography-7603282-font-weight:700;--e-global-typography-7603282-line-height:28px;--e-global-typography-085b78e-font-family:"Anton";--e-global-typography-085b78e-font-size:20px;--e-global-typography-085b78e-font-weight:400;--e-global-typography-085b78e-text-transform:none;--e-global-typography-085b78e-text-decoration:none;--e-global-typography-085b78e-line-height:1.2em;--e-global-typography-085b78e-letter-spacing:0em;--e-global-typography-d292294-font-size:20px;--e-global-typography-d292294-font-weight:700;--e-global-typography-d292294-line-height:28px;--e-global-typography-dfc8283-font-size:16px;--e-global-typography-dfc8283-font-weight:700;--e-global-typography-4990801-font-size:14px;--e-global-typography-4990801-font-weight:400;--e-global-typography-c61cc2e-font-family:"Segoe UI";--e-global-typography-c61cc2e-font-size:16px;--e-global-typography-c61cc2e-font-weight:700;--e-global-typography-c61cc2e-text-transform:none;--e-global-typography-c61cc2e-text-decoration:none;--e-global-typography-c61cc2e-line-height:1.63em;--e-global-typography-c61cc2e-letter-spacing:0em;--e-global-typography-bb08250-font-size:16px;--e-global-typography-bb08250-font-weight:700;--e-global-typography-bb08250-line-height:19px;--e-global-typography-d0809d8-font-size:18px;--e-global-typography-d0809d8-font-weight:700;--e-global-typography-d0809d8-line-height:26px;--e-global-typography-6423941-font-size:18px;--e-global-typography-6423941-font-weight:400;--e-global-typography-6423941-line-height:26px;--e-global-typography-db90818-font-size:18px;--e-global-typography-db90818-font-weight:600;--e-global-typography-db90818-line-height:26px;--e-global-typography-bc613ef-font-size:30px;--e-global-typography-bc613ef-font-weight:700;--e-global-typography-bc613ef-font-style:oblique;--e-global-typography-bc613ef-line-height:36px;--e-global-typography-68ea3d0-font-size:20px;--e-global-typography-68ea3d0-font-weight:700;--e-global-typography-68ea3d0-text-transform:none;--e-global-typography-68ea3d0-text-decoration:none;--e-global-typography-68ea3d0-line-height:28px;--e-global-typography-68ea3d0-letter-spacing:0em;--e-global-typography-b5f273e-font-size:16px;--e-global-typography-b5f273e-font-weight:600;--e-global-typography-b5f273e-line-height:26px;--e-global-typography-0fc945a-font-size:22px;--e-global-typography-0fc945a-font-weight:700;--e-global-typography-0fc945a-line-height:28px;--e-global-typography-3e87625-font-size:20px;--e-global-typography-3e87625-font-weight:600;--e-global-typography-3e87625-font-style:oblique;--e-global-typography-3e87625-line-height:35px;--e-global-typography-880afbb-font-size:16px;--e-global-typography-880afbb-font-weight:400;--e-global-typography-880afbb-line-height:24px;color:var( --e-global-color-text );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 );text-transform:var( --e-global-typography-text-text-transform );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-accent );font-size:var( --e-global-typography-dfc8283-font-size );font-weight:var( --e-global-typography-dfc8283-font-weight );color:var( --e-global-color-text );border-radius:10px 10px 10px 10px;padding:19px 30px 19px 30px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-4124997 );color:var( --e-global-color-text );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-text );}.elementor-kit-7 h1{color:var( --e-global-color-text );}.elementor-kit-7 h2{color:var( --e-global-color-text );}.elementor-kit-7 h3{color:var( --e-global-color-text );}.elementor-kit-7 h4{color:var( --e-global-color-text );}.elementor-kit-7 h5{color:var( --e-global-color-text );}.elementor-kit-7 h6{color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-b32504d-font-size:42px;--e-global-typography-b32504d-line-height:1.2em;--e-global-typography-0cc5159-font-size:34px;--e-global-typography-0cc5159-line-height:1.2em;--e-global-typography-9d68fbe-font-size:26px;--e-global-typography-9d68fbe-line-height:1.2em;--e-global-typography-4990801-font-size:12px;--e-global-typography-4990801-line-height:1.42em;--e-global-typography-bc613ef-font-size:21px;--e-global-typography-bc613ef-line-height:1.2em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-dfc8283-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-b32504d-font-size:30px;--e-global-typography-b32504d-line-height:1.2em;--e-global-typography-0cc5159-font-size:28px;--e-global-typography-0cc5159-line-height:1.2em;--e-global-typography-9d68fbe-font-size:24px;--e-global-typography-9d68fbe-line-height:1.2em;--e-global-typography-852fcbb-font-size:22px;--e-global-typography-852fcbb-line-height:1.2em;--e-global-typography-60560d2-font-size:22px;--e-global-typography-60560d2-line-height:1.2em;--e-global-typography-7603282-font-size:20px;--e-global-typography-bc613ef-font-size:19px;--e-global-typography-bc613ef-line-height:1.2em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-dfc8283-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}/* Start custom CSS *//*
// Site specific
*/


.elementor-widget-text-editor a{
    font-weight: bolder;
}
.elementor-button {
    position: relative;
    overflow: visible;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%, 0 100%);
    transform: rotate(0deg);
    transform-origin: 20% 50%;
    transition:
        clip-path 0.45s cubic-bezier(0.3, 0.9, 0.35, 1.1),
        transform 0.45s cubic-bezier(0.3, 0.9, 0.35, 1.1),
        background-color 0.3s ease;
}

.elementor-button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  background: rgba(0, 0, 0, 0.25);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  pointer-events: none;
  transition: width 0.45s cubic-bezier(0.3, 0.9, 0.35, 1.1), height 0.45s cubic-bezier(0.3, 0.9, 0.35, 1.1);
  z-index: 2;
  border-top-left-radius: 10px;
}

.elementor-widget-button:hover .elementor-button {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), calc(100% - 48px) 100%, 0 100%);
    transform: rotate(-1.5deg);
}

.elementor-widget-button:hover .elementor-button::after {
    width: 48px;
    height: 48px;
}

.elementor-widget-button.is-inside-button,
.elementor-widget-button.is-inside-button .elementor-button {
    cursor: pointer;
}

/* Sluit de peel-animatie volledig uit */
.noAnimation .elementor-button,
.elementor-button.noAnimation {
    clip-path: none;
    transform: none;
    transition: background-color 0.3s ease;
}

.noAnimation .elementor-button::after,
.elementor-button.noAnimation::after {
    display: none;
}

.noAnimation:hover .elementor-button,
.elementor-button.noAnimation:hover {
    clip-path: none;
    transform: none;
}

/* ============================================================
   FLIP CARD (peel off)
============================================================ */
.flipCard {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:box-shadow 1s cubic-bezier(0.3, 0.9, 0.35, 1.1);
}

.flipCard > .flipCardBack {
    position: relative;
    z-index: 1;
}

.flipCard > .flipCardFront {
    position: absolute;
    inset: 0;
    z-index: 2;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%, 0 100%);
    transform: rotate(0deg);
    transform-origin: 20% 50%;
    transition:
        clip-path 1s cubic-bezier(0.3, 0.9, 0.35, 1.1),
        transform 1s cubic-bezier(0.3, 0.9, 0.35, 1.1);
}

/* Het omgevouwen vel */
.flipCard > .flipCardFront::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    background: rgba(0, 0, 0, 0.25);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    border-top-left-radius: 10px;
    pointer-events: none;
    transition:
        width 1s cubic-bezier(0.3, 0.9, 0.35, 1.1),
        height 1s cubic-bezier(0.3, 0.9, 0.35, 1.1);
    z-index: 10;
}

.flipCard:hover {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.0) !important;
}

.flipCard:hover > .flipCardFront {
    clip-path: polygon(0 0, 100% 0, 100% -110%, -110% 100%, 0 100%);
}

.flipCard:hover > .flipCardFront::after {
    width: 210%;
    height: 210%;
}

/* In de Elementor editor beide kanten onder elkaar tonen */
.elementor-editor-active .flipCard {
    overflow: visible;
}

.elementor-editor-active .flipCard > .flipCardFront {
    position: relative;
    inset: auto;
    order: -1;
    clip-path: none;
    transform: none;
    transition: none;
}

.elementor-editor-active .flipCard > .flipCardFront::after {
    display: none;
}

/*Reset P Bottom Block End*/
p {
  margin-block-end: 0;
  margin-block-start: 0;
}

/*Branche Box*/
.brancheBox {
    overflow: hidden;
}

.brancheBox img {
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.brancheBox .elementor-heading-title {
    transition: transform 0.4s ease;
}

.brancheBox:hover img {
    transform: scale(1.1);
}

.brancheBox:hover .elementor-heading-title {
    transform: translateX(10px);
}

.productBox {
    overflow: hidden;
}

/*Product Box*/
.productBox {
    overflow: hidden;
}

.productBox img {
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.productBox .elementor-heading-title {
    transition: transform 0.4s ease;
}

.productBox:hover img {
    transform: scale(0.95);
}

.productBox:hover .product img {
    transform: scale(1.08);
}

.productBox:hover .elementor-heading-title {
    transform: translateX(10px);
}

/*Blog Box*/
.blogBox {
    position: relative;
    overflow: hidden;
}

.blogBox::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: inherit;
    background-position: center center;
    background-size: cover;
    transition: transform 0.4s ease;
    z-index: -1;
}

.blogBox:hover::after {
    transform: scale(1.1);
}

.blogBox img {
    transition: transform 0.4s ease;
    transform-origin: center center;
}

.blogBox .elementor-heading-title {
    transition: transform 0.4s ease;
}

.blogBox:hover img {
    transform: scale(.9);
}

.blogBox:hover .elementor-heading-title {
    transform: translateY(-10px);
}

.blogBox:hover .exclude .elementor-heading-title {
    transform: none;
}

/*Icon Link Box*/
.iconLinkBox img {
    transition: transform 0.3s ease;
    transform-origin: center center;
}

.iconLinkBox .elementor-heading-title {
    transition: text-decoration-color 0.3s ease;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
}

.iconLinkBox:hover img {
    transform: scale(1.15);
}

.iconLinkBox:hover .elementor-heading-title {
    text-decoration-color: currentColor;
}

/*White Left Expanded Background*/
.leftExpandedBackground {
    position: relative;
}

.leftExpandedBackground::after {
    content: "";
    position: absolute;
    top: 0;
    left: -276px;
    width: 276px;
    height: 100%;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    background: var(--Wit, #FFF);
    z-index: -1;
}

/*Red Background Box*/
.redBgBoxBottomRight::after {
    content: "";
    position: absolute;
    width: 288px;
    height: 288px;
    right: -96px;
    bottom: -68px;
    border-radius: 30px;
    background: var(--Rood, #E12319);
    z-index: -1;
}

.redBgBoxLargeBottomRight::after {
    content: "";
    position: absolute;
    width: 288px;
    height: 462px;
    right: -96px;
    bottom: -89px;
    border-radius: 30px;
    background: var(--Rood, #E12319);
    z-index: -1;
}

.redBgBoxBottomLeft {
    position: relative;
}

.e-con-inner:has(.redBgBoxBottomLeft) {
    isolation: isolate;
}

.redBgBoxBottomLeft::after {
    content: "";
    position: absolute;
    width: 288px;
    height: 288px;
    left: -96px;
    bottom: -68px;
    border-radius: 30px;
    background: var(--Rood, #E12319);
    z-index: -1;
}

.redBgBoxLargeBottomLeft::after {
    content: "";
    position: absolute;
    width: 288px;
    height: 462px;
    left: -96px;
    bottom: -89px;
    border-radius: 30px;
    background: var(--Rood, #E12319);
    z-index: -1;
}

@media (max-width: 767px) {
    .redBgBoxBottomRight::after {
        width: 144px;
        height: 144px;
        right: -48px;
        bottom: -34px;
        border-radius: 15px;
    }

    .redBgBoxBottomLeft::after {
        width: 144px;
        height: 144px;
        left: -48px;
        bottom: -34px;
        border-radius: 15px;
    }
    
    .redBgBoxLargeBottomRight::after {
        width: 144px;
        height: 231px;
        right: -48px;
        bottom: -45px;
        border-radius: 15px;
    }

    .redBgBoxLargeBottomLeft::after {
        width: 144px;
        height: 231px;
        left: -48px;
        bottom: -45px;
        border-radius: 15px;
    }
}

/* ============================================================
   CLIP BACKGROUND TO LEFT SCREEN
   Laat de achtergrond van de diepste (boxed) container
   doorlopen tot aan de linkerrand van het scherm.
============================================================ */
.clipBackgroundToLeftScreen {
    position: relative;
}

.clipBackgroundToLeftScreen::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc((-100vw + var(--container-max-width)) / 2);
    width: calc((100vw - var(--container-max-width)) / 2);
    height: 100%;
    background: #94CEF340;
    z-index: -1;
}

/*@media (max-width: 1200px) {*/
/*    .clipBackgroundToLeftScreen::after {*/
/*        left: 0;*/
/*        width: 0;*/
/*    }*/
/*}*/

/*Red Buldge*/
.redBuldgeDown {
    position: relative;
}


.redBuldgeDown::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    aspect-ratio: 1440 / 49;
    max-height: 65px;
    background-image: url("data:image/svg+xml,%3Csvg%20width='1440'%20height='49'%20viewBox='0%200%201440%2049'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M720%2048.9999C438.172%2048.9999%204.28371e-06%20-3.7885e-09%204.28371e-06%20-3.7885e-09L1440%200.000125885C1440%200.000125885%201001.83%2049%20720%2048.9999Z'%20fill='%23E12319'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.25));
    pointer-events: none;
    z-index: -1;
}

.redBuldgeUp {
    position: relative;
    overflow: visible;
}

.redBuldgeUp::before,
.redBuldgeUp::after {
    content: "";
    position: absolute;
    bottom: 99%;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    aspect-ratio: 1440 / 31;
    max-height: 65px;
    background-image: url("data:image/svg+xml,%3Csvg%20width='1440'%20height='31'%20viewBox='0%200%201440%2031'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M720%200.000125889C1001.83%200.000175165%201440%2031.0001%201440%2031.0001L-5.42019e-06%2030.9999C-5.42019e-06%2030.9999%20438.172%207.66125e-05%20720%200.000125889Z'%20fill='%23E12319'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none;
}

/* ==========================================================================
   Boxed Left / Boxed Right
   --------------------------------------------------------------------------
   Sectie waarvan een kant uitlijnt op de boxed contentbreedte en de andere
   kant doorloopt tot de schermrand, ongeacht de schermgrootte.

   Gebruik:
   - Buitenste container: Content Width op Full Width
   - Padding links en rechts op 0
   - Class toevoegen:
       .boxedLeft   links boxed, rechts tegen de schermrand
       .boxedRight  rechts boxed, links tegen de schermrand

   Variabelen:
   --boxed-width   Gelijk aan Content Width in Site Settings (1200px)
   --boxed-gutter  Minimale zijpadding wanneer het scherm smaller is
                   dan de boxed breedte
   --boxed-offset  Berekende padding, niet handmatig aanpassen

   Breakpoints:
   - Desktop  Effect actief, offset groeit mee met de schermbreedte
   - Tablet   (max 1024px) Effect actief, offset gelijk aan de gutter
   - Mobiel   (max 768px) Beide kanten gutter, geen content tegen de rand
   ========================================================================== */
.boxedLeft,
.boxedRight {
  --boxed-width: 1200px;
  --boxed-gutter: 20px;
  --boxed-offset: max(var(--boxed-gutter), calc((100% - var(--boxed-width)) / 2));
}

/* Links boxed, rechts tegen de schermrand */
.boxedLeft {
  padding-left: var(--boxed-offset);
}

/* Rechts boxed, links tegen de schermrand */
.boxedRight {
  padding-right: var(--boxed-offset);
}

/* Tablet */
@media (max-width: 1024px) {
  .boxedLeft,
  .boxedRight {
    --boxed-gutter: 20px;
  }
}

/* Mobiel */
@media (max-width: 768px) {
  .boxedLeft,
  .boxedRight {
    --boxed-gutter: 20px;
    padding-left: var(--boxed-gutter);
    padding-right: var(--boxed-gutter);
  }
}

/* ============================================================
   OUTGROW PARENT PLUS 30%
   Variant van outgrowParent die het element tot de rand van
   het scherm laat uitsteken, plus nog 30% van diezelfde
   afstand daar voorbij.
   Gebruik .outgrowParentLeftPlus30, .outgrowParentRightPlus30
   of .outgrowParentBothPlus30.
============================================================ */
.outgrowParentLeftPlus30,
.outgrowParentBothPlus30 {
  margin-left: calc(((-100vw + var(--container-max-width)) / 2) * 1.3);
}

.outgrowParentLeftPlus30 .elementor-widget-container,
.outgrowParentLeftPlus30 p,
.outgrowParentBothPlus30 .elementor-widget-container,
.outgrowParentBothPlus30 p {
  margin-left: calc(((100vw - var(--container-max-width)) / 2) * 1.3);
}

.outgrowParentRightPlus30,
.outgrowParentBothPlus30 {
  margin-right: calc(((-100vw + var(--container-max-width)) / 2) * 1.3);
}

.outgrowParentRightPlus30 .elementor-widget-container,
.outgrowParentRightPlus30 p,
.outgrowParentBothPlus30 .elementor-widget-container,
.outgrowParentBothPlus30 p {
  margin-left: calc((100vw - var(--container-max-width)) * 1.3);
}

@media (max-width: 1200px) {
  .outgrowParentLeftPlus30,
  .outgrowParentBothPlus30 {
    margin-left: 0;
  }

  .outgrowParentLeftPlus30 .elementor-widget-container,
  .outgrowParentLeftPlus30 p,
  .outgrowParentBothPlus30 .elementor-widget-container,
  .outgrowParentBothPlus30 p {
    margin-left: var(--horizontal-content-padding);
  }

  .outgrowParentRightPlus30,
  .outgrowParentBothPlus30 {
    margin-right: 0;
  }

  .outgrowParentRightPlus30 .elementor-widget-container,
  .outgrowParentRightPlus30 p,
  .outgrowParentBothPlus30 .elementor-widget-container,
  .outgrowParentBothPlus30 p {
    margin-left: var(--horizontal-content-padding);
  }
}

/* ============================================================
   OUTGROW PARENT PLUS 40%
============================================================ */
.outgrowParentLeftPlus40,
.outgrowParentBothPlus40 {
  margin-left: calc(((-100vw + var(--container-max-width)) / 2) * 1.4);
}

.outgrowParentLeftPlus40 .elementor-widget-container,
.outgrowParentLeftPlus40 p,
.outgrowParentBothPlus40 .elementor-widget-container,
.outgrowParentBothPlus40 p {
  margin-left: calc(((100vw - var(--container-max-width)) / 2) * 1.4);
}

.outgrowParentRightPlus40,
.outgrowParentBothPlus40 {
  margin-right: calc(((-100vw + var(--container-max-width)) / 2) * 1.4);
}

.outgrowParentRightPlus40 .elementor-widget-container,
.outgrowParentRightPlus40 p,
.outgrowParentBothPlus40 .elementor-widget-container,
.outgrowParentBothPlus40 p {
  margin-left: calc((100vw - var(--container-max-width)) * 1.4);
}

@media (max-width: 1200px) {
  .outgrowParentLeftPlus40,
  .outgrowParentBothPlus40 {
    margin-left: 0;
  }

  .outgrowParentLeftPlus40 .elementor-widget-container,
  .outgrowParentLeftPlus40 p,
  .outgrowParentBothPlus40 .elementor-widget-container,
  .outgrowParentBothPlus40 p {
    margin-left: var(--horizontal-content-padding);
  }

  .outgrowParentRightPlus40,
  .outgrowParentBothPlus40 {
    margin-right: 0;
  }

  .outgrowParentRightPlus40 .elementor-widget-container,
  .outgrowParentRightPlus40 p,
  .outgrowParentBothPlus40 .elementor-widget-container,
  .outgrowParentBothPlus40 p {
    margin-left: var(--horizontal-content-padding);
  }
}

/* ============================================================
   OUTGROW PARENT PLUS 50%
============================================================ */
.outgrowParentLeftPlus50,
.outgrowParentBothPlus50 {
  margin-left: calc(((-100vw + var(--container-max-width)) / 2) * 1.5);
}

.outgrowParentLeftPlus50 .elementor-widget-container,
.outgrowParentLeftPlus50 p,
.outgrowParentBothPlus50 .elementor-widget-container,
.outgrowParentBothPlus50 p {
  margin-left: calc(((100vw - var(--container-max-width)) / 2) * 1.5);
}

.outgrowParentRightPlus50,
.outgrowParentBothPlus50 {
  margin-right: calc(((-100vw + var(--container-max-width)) / 2) * 1.5);
}

.outgrowParentRightPlus50 .elementor-widget-container,
.outgrowParentRightPlus50 p,
.outgrowParentBothPlus50 .elementor-widget-container,
.outgrowParentBothPlus50 p {
  margin-left: calc((100vw - var(--container-max-width)) * 1.5);
}

@media (max-width: 1200px) {
  .outgrowParentLeftPlus50,
  .outgrowParentBothPlus50 {
    margin-left: 0;
  }

  .outgrowParentLeftPlus50 .elementor-widget-container,
  .outgrowParentLeftPlus50 p,
  .outgrowParentBothPlus50 .elementor-widget-container,
  .outgrowParentBothPlus50 p {
    margin-left: var(--horizontal-content-padding);
  }

  .outgrowParentRightPlus50,
  .outgrowParentBothPlus50 {
    margin-right: 0;
  }

  .outgrowParentRightPlus50 .elementor-widget-container,
  .outgrowParentRightPlus50 p,
  .outgrowParentBothPlus50 .elementor-widget-container,
  .outgrowParentBothPlus50 p {
    margin-left: var(--horizontal-content-padding);
  }
}

/* ICON LIST
   Generieke bullet-list styling voor gebruik op de Elementor Tekst Editor widget
   (of ieder ander element met een <ul><li> structuur). Voeg de basisclass "iconList"
   toe samen met één variant: "iconListDot", "iconListArrow" of "iconListImage".
*/
.iconList,
.iconList ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.iconList li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.iconList li:last-child {
  margin-bottom: 0;
}

/* Variant: dot */
.iconListDot li::before {
  content: "";
  display: flex;
  width: 10px;
  height: 10px;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  background: var(--e-global-color-primary);
  flex-shrink: 0;
}

/* Variant: svg arrow, kleur loopt via mask zodat de kleur simpel aan te passen is */
.iconListArrow li::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 11px;
  transform: rotate(90deg);
  flex-shrink: 0;
  background-color: var(--e-global-color-primary);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='10' height='12' viewBox='0 0 10 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5764 4.06666C9.74084 4.8606 9.74084 6.57764 8.5764 7.37157L3.12667 11.0873C1.79906 11.9925 3.93182e-07 11.0417 4.63419e-07 9.43484L7.88258e-07 2.00339C8.58496e-07 0.396552 1.79906 -0.554254 3.12667 0.350939L8.5764 4.06666Z' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg width='10' height='12' viewBox='0 0 10 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5764 4.06666C9.74084 4.8606 9.74084 6.57764 8.5764 7.37157L3.12667 11.0873C1.79906 11.9925 3.93182e-07 11.0417 4.63419e-07 9.43484L7.88258e-07 2.00339C8.58496e-07 0.396552 1.79906 -0.554254 3.12667 0.350939L8.5764 4.06666Z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Variant: losse afbeelding via URL, vervang de url() hieronder per project */
.iconListImage li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  background-image: url('');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* ============================================================
   SETTINGS
============================================================ */
:root {
  --vertical-content-padding: 100px;
  --horizontal-content-padding: 20px;
}

@media (max-width: 1024px) {
  :root {
    --vertical-content-padding: 100px;
    --horizontal-content-padding: 60px;
  }
}

@media (max-width: 767px) {
  :root {
    --vertical-content-padding: 80px;
    --horizontal-content-padding: 20px;
  }
}

/* ============================================================
   DEFAULT PADDING SECTIONS
   Voegt standaard padding toe aan alle Elementor secties.
   Gebruik .noPadding, .noVerticalPadding of .noHorizontalPadding
   als CSS class op een sectie om de padding te overschrijven.
============================================================ */

/* Standaard templates (#content) */
#content .elementor > .elementor-element:not(.noPadding):not(.noVerticalPadding),
#content .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

#content .elementor > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
#content .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* Elementor Full Width templates (#main) */
#main .elementor > .elementor-element:not(.noPadding):not(.noVerticalPadding),
#main .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

#main .elementor > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
#main .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* Elementor Full Width templates (#main) */
main .elementor > .elementor-element:not(.noPadding):not(.noVerticalPadding),
main .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

main .elementor > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
main .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* JetThemeCore Single templates */
.elementor-location-single > .elementor-element:not(.noPadding):not(.noVerticalPadding),
.elementor-location-single .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

.elementor-location-single > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
.elementor-location-single .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* JetThemeCore Archive templates */
.elementor-location-archive > .elementor-element:not(.noPadding):not(.noVerticalPadding),
.elementor-location-archive .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

.elementor-location-archive > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
.elementor-location-archive .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* JetThemeCore overige locations */
.jet-theme-core-location .elementor > .elementor-element:not(.noPadding):not(.noVerticalPadding),
.jet-theme-core .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noVerticalPadding) {
  padding-top: var(--vertical-content-padding);
  padding-bottom: var(--vertical-content-padding);
}

.jet-theme-core-location .elementor > .elementor-element:not(.noPadding):not(.noHorizontalPadding),
.jet-theme-core .elementor-section-wrap > .elementor-element:not(.noPadding):not(.noHorizontalPadding) {
  padding-right: var(--horizontal-content-padding);
  padding-left: var(--horizontal-content-padding);
}

/* ============================================================
   FIX HORIZONTAL SCROLL
============================================================ */
#content,
#main,
#jet-theme-core-single,
.jet-theme-core-location {
  padding: 0;
  overflow: hidden;
}

/* ============================================================
   FIX DEFAULT TEMPLATES
   Zorgt dat Elementor content de volledige breedte gebruikt.
============================================================ */
#primary {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
  max-width: 100%;
}

#main {
  max-width: unset !important;
}

@media only screen and (max-width: 1024px) {
  #primary {
    padding-left: 10px;
    padding-right: 10px;
  }

  #main {
    padding: 0 10px;
  }
}

/* ============================================================
   MAX LINES
   Kap tekst af na X regels. Gebruik als CSS class op een widget.
   Beschikbaar: .max-lines-1 t/m .max-lines-4
============================================================ */
.max-lines-1 h1,
.max-lines-1 h2,
.max-lines-1 h3,
.max-lines-1 h4,
.max-lines-1 h5,
.max-lines-1 h6,
.max-lines-1 p,
.max-lines-1 span,
.max-lines-1 a {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.max-lines-2 h1,
.max-lines-2 h2,
.max-lines-2 h3,
.max-lines-2 h4,
.max-lines-2 h5,
.max-lines-2 h6,
.max-lines-2 p,
.max-lines-2 span,
.max-lines-2 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.max-lines-3 h1,
.max-lines-3 h2,
.max-lines-3 h3,
.max-lines-3 h4,
.max-lines-3 h5,
.max-lines-3 h6,
.max-lines-3 p,
.max-lines-3 span,
.max-lines-3 a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.max-lines-4 h1,
.max-lines-4 h2,
.max-lines-4 h3,
.max-lines-4 h4,
.max-lines-4 h5,
.max-lines-4 h6,
.max-lines-4 p,
.max-lines-4 span,
.max-lines-4 a {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ============================================================
   OUTGROW PARENT
   Laat een element buiten zijn parent container uitlopen
   tot aan de rand van het scherm.
   Gebruik .outgrowParentLeft, .outgrowParentRight of .outgrowParentBoth.
============================================================ */
.outgrowParentLeft,
.outgrowParentBoth {
  margin-left: calc((-100vw + var(--container-max-width)) / 2);
}

.outgrowParentLeft .elementor-widget-container,
.outgrowParentLeft p,
.outgrowParentBoth .elementor-widget-container,
.outgrowParentBoth p {
  margin-left: calc((100vw - var(--container-max-width)) / 2);
}

.outgrowParentRight,
.outgrowParentBoth {
  margin-right: calc((-100vw + var(--container-max-width)) / 2);
}

.outgrowParentRight .elementor-widget-container,
.outgrowParentRight p,
.outgrowParentBoth .elementor-widget-container,
.outgrowParentBoth p {
  margin-left: calc((100vw - var(--container-max-width)));
}

@media (max-width: 1200px) {
  .outgrowParentLeft,
  .outgrowParentBoth {
    margin-left: 0;
  }

  .outgrowParentLeft .elementor-widget-container,
  .outgrowParentLeft p,
  .outgrowParentBoth .elementor-widget-container,
  .outgrowParentBoth p {
    margin-left: var(--horizontal-content-padding);
  }

  .outgrowParentRight,
  .outgrowParentBoth {
    margin-right: 0;
  }

  .outgrowParentRight .elementor-widget-container,
  .outgrowParentRight p,
  .outgrowParentBoth .elementor-widget-container,
  .outgrowParentBoth p {
    margin-left: var(--horizontal-content-padding);
  }
}

/* ============================================================
   OUTGROW OUTER CONTAINER
   Laat de inhoud van een container uitlopen tot aan de
   schermrand, terwijl de container zelf een max-breedte houdt.
============================================================ */
.outgrowOuterContainer {
  margin: 0 auto;
}

.outgrowOuterContainer > .e-con-inner > .elementor-element:first-of-type {
  padding-left: var(--horizontal-content-padding);
}

.outgrowOuterContainer > .e-con-inner > .elementor-element:last-child {
  padding-right: var(--horizontal-content-padding);
}

@media screen and (min-width: 1240px) {
  .outgrowOuterContainer > .e-con-inner > .elementor-element:first-of-type {
    margin-left: calc((-100vw + 100%) / 2) !important;
    padding-left: calc((100vw - 100%) / 2) !important;
  }

  /* In de Elementor editor wordt het derde element ook uitgerekt */
  .elementor-editor-active .outgrowOuterContainer > .e-con-inner > .elementor-element:nth-of-type(3) {
    margin-left: calc((-100vw + 100%) / 2) !important;
    padding-left: calc((100vw - 100%) / 2) !important;
  }

  .outgrowOuterContainer > .e-con-inner > .elementor-element:last-child {
    margin-right: calc((-100vw + 100%) / 2);
    padding-right: calc((100vw - 100%) / 2);
  }
}

/* ============================================================
   BLEED PHOTO
   Fotocontainer (child) loopt uit naar de scherm-rand en
   vult het volledige vlak. Verhouding via .bleedRatioXX.
   De contentcontainer ernaast blijft een normale boxed container.
============================================================ */
.bleedPhotoLeft,
.bleedPhotoRight {
  --bleed-photo-width: 50%; /* default, overschreven door .bleedRatioXX */
}
.bleedPhotoLeft {
  margin-left: calc((var(--container-max-width) - 100vw) / 2);
  width: calc(var(--bleed-photo-width) + (100vw - var(--container-max-width)) / 2);
}
.bleedPhotoRight {
  margin-right: calc((var(--container-max-width) - 100vw) / 2);
  width: calc(var(--bleed-photo-width) + (100vw - var(--container-max-width)) / 2);
}

/* Foto vult het volledige vlak, ongeacht verhouding */
.bleedPhotoLeft .elementor-widget-image,
.bleedPhotoRight .elementor-widget-image,
.bleedPhotoLeft .elementor-widget-image .elementor-widget-container,
.bleedPhotoRight .elementor-widget-image .elementor-widget-container {
  height: 100%;
}
.bleedPhotoLeft img,
.bleedPhotoRight img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Verhoudingen: fotobreedte binnen de boxed area */
.bleedRatio20 { --bleed-photo-width: 20%; }
.bleedRatio30 { --bleed-photo-width: 30%; }
.bleedRatio40 { --bleed-photo-width: 40%; }
.bleedRatio50 { --bleed-photo-width: 50%; }
.bleedRatio60 { --bleed-photo-width: 60%; }
.bleedRatio70 { --bleed-photo-width: 70%; }
.bleedRatio80 { --bleed-photo-width: 80%; }

/* Mobiel: alles terug naar normaal */
@media (max-width: 1200px) {
  .bleedPhotoLeft,
  .bleedPhotoRight {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
}

/* ============================================================
   ZOOM IN PHOTO
   Foto zoomt licht in binnen de container.
   De container behoudt zijn grootte, de foto wordt erbinnen
   geschaald en uitgesneden door overflow: hidden.
============================================================ */
.zoomInPhoto {
  overflow: hidden;
}
.zoomInPhoto img {
  transition: transform 0.6s ease;
}
.zoomInPhoto:hover img {
  transform: scale(1.08);
}

/* ============================================================
   LOTTIE ICOON KLEUREN
   Overschrijft hardcoded kleuren in Lottie SVG animaties
   met de Elementor globale kleuren.
============================================================ */
.e-lottie__animation svg g path[stroke="rgb(18,19,48)"] {
  stroke: var(--e-global-color-text) !important;
}

.e-lottie__animation svg g path[stroke="rgb(0,15,45)"] {
  stroke: var(--e-global-color-text) !important;
}

.e-lottie__animation svg g path[stroke="rgb(253,77,79)"] {
  stroke: var(--e-global-color-accent) !important;
}

/* ============================================================
   COOKIE CONSENT
   Verplaatst de cookie consent knop op mobiel zodat hij niet
   over de footer navigatie valt.
============================================================ */
@media (max-width: 767px) {
  #cmplz-manage-consent .cmplz-manage-consent {
    bottom: 125px !important;
    z-index: 3 !important;
    font-size: 12px !important;
    padding: 5px !important;
    right: -41px !important;
    height: 35px !important;
    min-height: unset !important;
    transform: rotate(-90deg);
  }
}

/* ============================================================
   FEEDBACK NOV 2026
============================================================ */
/* Pijltje volgt de tekstkleur bij hover */
.altButton .elementor-button:hover svg path {
    fill: currentColor;
}

/* Peel off ook op formulierknoppen */
.elementor-widget-form .elementor-button:hover {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), calc(100% - 48px) 100%, 0 100%);
    transform: rotate(-1.5deg);
}
.elementor-widget-form .elementor-button:hover::after {
    width: 48px;
    height: 48px;
}

/* Caseskaarten in een slider even hoog */
.jet-listing-grid__slider .swiper-wrapper {
    align-items: stretch;
}
.jet-listing-grid__slider .jet-listing-grid__item.swiper-slide {
    height: auto;
}
.jet-listing-grid__item .jet-engine-listing-overlay-wrap,
.jet-listing-grid__item .jet-engine-listing-overlay-wrap > .elementor,
.jet-listing-grid__item .flipCard {
    height: 100%;
}
.flipCard > .flipCardBack {
    min-height: 100%;
}

/* BULLETS TEKSTEDITOR: geldt alleen voor opsommingen in tekst-widgets */
.elementor-widget-text-editor ul {
    list-style: none !important;
    padding-left: 0;
}
.elementor-widget-text-editor ul > li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 6px;
}
.elementor-widget-text-editor ul > li:last-child {
    margin-bottom: 0;
}
.elementor-widget-text-editor ul > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .6em;
    top: calc(.5lh - 3px);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--e-global-color-secondary);
}

/* MEGA MENU: breedte panels Oplossingen en Sectoren, menu-items op één regel (desktop) */
@media (min-width: 1025px) {
    .mainMenu .jet-mega-menu-item-2834 .jet-mega-menu-mega-container {
        min-width: 860px;
    }
    .mainMenu .jet-mega-menu-item-2835 .jet-mega-menu-mega-container {
        min-width: 440px;
        width: 440px;
    }
    .mainMenu .jet-mega-menu-mega-container .elementor-widget-image {
        width: 100%;
    }
    .mainMenu .jet-mega-menu-mega-container .elementor-widget-image img {
        width: 100%;
        height: 110px;
        object-fit: cover;
    }
    .mainMenu .jet-mega-menu-mega-container .elementor-icon-list-text {
        white-space: nowrap;
    }
    .mainMenu .jet-mega-menu-mega-container .megaCtaText p {
        margin: 0;
    }
    .mainMenu .jet-mega-menu-mega-container .elementor-heading-title a:hover {
        color: var(--e-global-color-text);
    }
}

/* KLANTCASE MOBIEL OVERLOOP (2026-11-12): containers met vaste px-breedte en het rode vlak maakten de pagina op mobiel/tablet breder dan het scherm */
@media (max-width:1024px){
  .single-klantcase .e-con.e-con-full,
  .single-klantcase .elementor-widget__width-initial{max-width:100%}
  .single-klantcase main.elementor-location-single{overflow-x:clip}
}/* End custom CSS */