@font-face {
    font-family: 'MYRIADPROREGULAR';
   src: url('../fonts/myriadpro/MYRIADPROREGULAR.eot');
   src: local('MYRIADPROREGULAR'), 
            url('../fonts/myriadpro/MYRIADPROREGULAR.woff') format('woff'), 
            url('../fonts/myriadpro/MYRIADPROREGULAR.ttf') format('truetype');
 font-weight: normal;
 font-style: normal;
}
@font-face {
   font-family: 'harabara_mais';
   src: url('../fonts/harabara/Harabara Mais Demo-webfont.eot');
   src: url('../fonts/harabara/Harabara Mais Demo-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/harabara/Harabara Mais Demo-webfont.woff2') format('woff2'),
        url('../fonts/harabara/Harabara Mais Demo-webfont.woff') format('woff'),
        url('../fonts/harabara/Harabara Mais Demo-webfont.ttf') format('truetype'),
        url('../fonts/harabara/Harabara Mais Demo-webfont.svg#harabara_maisharabaramaisdemo') format('svg');
   font-weight: normal;
   font-style: normal;
}


:root {

    /*  KLOKSOFTWARE.NL KLEUREN  */
    --darkblue                  :#0F254E;
    --blue                      :#464CE6;
    --lightblue                 :#6B90C7;
    --yellow                    :#FFB10A;
    --offwhite                  :#F4F5FE;
    --lightgrey                 :#939393;
    /* --lightblock: #FAFBFF; */
    --lightblock: #F8F9FF;
    --header-gradient           :linear-gradient(90deg, #464CE6 0%, rgba(204, 70, 224, 0.6) 100%);
    --header-gradient           :linear-gradient(90deg, rgba(70, 76, 230, .6) 0%, rgba(70, 76, 230, .6) 100%);
    --header-gradient           :linear-gradient(90deg, rgba(19, 22, 107, 0.9) 0%, rgba(22, 25, 116, 0.6) 100%);
    /* --tile-gradient             :linear-gradient(0deg, rgba(0, 46, 163, 1) 0%, rgba(0, 22, 76, 0.8) 28%, rgba(0, 0, 0, 0) 100%); */
    --tile-gradient             :none;
    --drop-shadow               :0 2px 4px 0 rgba(0, 0, 0, 0.14);

    --font1                     :'MYRIADPROREGULAR';
    /* --font2                     :'harabara_mais'; */
    --font2                     :'MYRIADPROREGULAR';
    --font-title                :'MYRIADPROREGULAR';
    --font-text                 :'MYRIADPROREGULAR';

    --max-width-m               :1100px;
    --max-width                 :1350px;
    --max-width-l               :1500px;
    --max-width-xl              :1800px;

    --text-size                 :16px;

    --img-border                :1px solid #bbbbbb5e;
    --input-border              :1px solid #bbbbbb5e;

    --padding-vert              :60px;
    --padding-hor               :15px;
    --margin-vert               :60px;

    --header-offset             :30px;

    --card-padding              :24px 30px;
    --card-padding2             :34px 40px;
    
    --grid-gap-vert             :30px;
    --grid-gap-hor              :40px;

}

body, html {
    height: 100%;
}
body,
body *,
*::before,
*::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    position: relative;
}
body {
    font-family: var(--font1);
    color: var(--darkblue);
    background-color: #ffffff;
    overflow-x: hidden;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

a, a:active, a:visited, a:focus, a:hover {
    color: inherit;
    font-family: inherit;
    text-decoration: none;
}

input::placeholder                  { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-moz-placeholder             { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-webkit-input-placeholder    { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-ms-placeholder              { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
textarea::placeholder               { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-moz-placeholder          { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-webkit-input-placeholder { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-ms-placeholder           { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }

.lazy           { opacity: 0; transition: opacity 0.1s ease; }
.lazy.loaded    { opacity: 1; }
.lazy-bg        {
    opacity: 0; transition: opacity 0.1s ease;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;}
.lazy-bg.loaded { opacity: 1; }

.bg-anim-zoom .img{
    transition: transform 200ms ease-in-out;
}
.bg-anim-zoom:hover:has(.img) .img{
    transform: scale(1.02);
}

.bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.flex{
    display: flex;
}
.flex-col{
    flex-direction: column;
}
.gap-4{
    gap: 4px;
}
.gap-16{
    gap: 16px;
}

img,
select,
input {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}
.img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
}

h1 {
    font-size: 36px;
    font-family: var(--font2);
    font-weight: normal;
    font-weight: bold;
    color: var(--darkblue);
    margin-bottom: 10px;
}
h2 {
    font-size: 24px;
    font-family: var(--font2);
    font-weight: normal;
    color: var(--darkblue);
    margin-bottom: 10px;
}
    h2>i {
        font-weight: bold;
    }
h3 {
    font-size: 22px;
    font-family: var(--font2);
    font-weight: normal;
    color: var(--darkblue);
    margin-bottom: 10px;
}
h4 {
    font-size: 18px;
    font-family: var(--font2);
    font-weight: normal;
    color: var(--darkblue);
    margin-bottom: 10px;
}


p, ul, li, ol {
    line-height: unset;
}
div.text ul,
div.text ol {
    padding-left: 16px;
}

ul {
    padding-top: 20px;
    padding-bottom: 20px;
}
ul, li {
    list-style: none;
    padding-left: 1.2em;
    margin-left: 0;
}

ul li {
    position: relative;
    padding-left: 24px; /* ruimte voor icoon */
}

ul li::before {
    content: "\f00c";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--blue); /* jouw blue, kan je aanpassen */
    font-size: 12px;
}
.btn-holder {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 30px;
}

.btn-holder.center {
    justify-content: center;
    width: 100% !important;
}
.btn-holder.align-right {
    justify-content: flex-end;
    width: 100% !important;
}

.btn-holder.col {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

    button {
        outline: none;
        border: none;
        background: none;
    }

    .btn-holder button {
        display: flex;
        align-items: center;
        font-family: var(--font1);
        font-size: 16px;
        text-decoration: none;
        /* text-transform: uppercase; */
        background-color: var(--blue);
        color: #FFFFFF;
        cursor: pointer;
        padding: 8px 14px;
        border-radius: 12px;
        border: none;
        outline: none;
        border: 1px solid transparent;
        transition: all .3s ease;
    }
        .btn-holder button::selection {
            color: inherit;
        }
        .btn-holder.transparent button {
            background-color: transparent;
        }
    .btn-holder button:hover {
        transition: all .3s ease;
        filter: brightness(0.75);
    }
    .btn-holder.end {
        justify-content: flex-end;
    }

    .header .btn button {
        padding: 10px 20px;
        font-size: 18px;
    }
    .btn.yellow button {
        background-color: var(--yellow);
        color: #FFFFFF;
    }
    .btn.blue button {
        background-color: var(--blue);
        color: #FFFFFF;
    }
    .btn.darkblue button {
        background-color: var(--darkblue);
        color: #FFFFFF;
    }
    .btn.transparent button {
        background-color: transparent;
        color: #FFFFFF;
        border: 1px solid #FFFFFF;
    }

    .header .btn-holder{
        display: flex;
        justify-content: center;
        align-items: center;
    }

.page-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}


.navbar {
    z-index: 10;
    position: fixed;
    top: var(--current-offset, 30px);
    width: 100%;
    display: flex;
    justify-content: center;
}
    .navbar.sticky {
        top: 0;
        background-color: #1e0e7abb;
    }
        .navbar.sticky .navbar-inner {
            padding-top: 10px;
            padding-bottom: 10px;
            transition: padding .2s ease;
        }    
    .navbar.mobile-opened {
        display: none;    
    }
    .navbar-inner {
        width: 100%;
        max-width: var(--max-width-l);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 20px 30px;
    }
        .navbar-inner .nav-logo a {
            display: flex;
        }
            .navbar-inner .nav-logo img {
                height: 75px;
                object-fit: contain;
            }
        .navbar-inner .nav {
            flex: 1;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 50px;
        }
            .navbar-inner .nav a,
            .navbar-inner .nav button {
                color: #FFFFFF;
                font-size: 18px;
                font-family: var(--font1);
                text-transform: uppercase;
            }
            .navbar-inner .nav .btn-holder {
                margin-top: 0;
            }
            .navbar-inner .nav a:hover {
                /* color: var(--yellow); */
            }

        .navbar-inner .nav #mobile-navbar {
            display: none;
        }
            .nav-dropdown{
                position: relative;
            }
            .nav-dropdown-title{
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 4px;
            }
                 .nav-dropdown-title i{
                    font-size: .8em;
                 }
            .nav-dropdown-container{
                display: none;
                position: absolute;
                width: 300px;
                padding-top:20px 
            }
            .nav-dropdown-inner{
                width: 100%;
                padding: 26px 20px;
                background-color: var(--offwhite);
                color: var(--darkblue);
                display: flex;
                flex-direction: column;
                gap: 24px;
                border-radius: .2em;
            }
            .nav-dropdown-inner a{
                color: var(--darkblue) !important;
            }
                .nav-dropdown-inner a:hover{
                    opacity: .6;
                }
                .nav-dropdown-inner .line{
                    width: 100%;
                    height: 1px;
                    background-color: var(--blue);
                }
        .nav-dropdown:hover .nav-dropdown-container{
            display: block;
        }
        .nav-dropdown:hover a {
            color: var(--yellow);
        }


.header {
    z-index: 3;
    position: relative;
    width: 100%;
    min-height: 800px;
    max-height: calc(100vh - var(--header-offset) - 60px);
    display: flex;
    justify-content: center;
    margin-bottom: 100px;
    margin-top: var(--header-offset);
    padding-inline: var(--padding-hor);
}
    .header.small {  
        min-height: 580px;
    }
    .header-inner {
        width: 100%;
        max-width: var(--max-width-xl);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding:  60px;
        padding-top: 120px;
        border-radius: 20px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        background-image: var(--header-gradient), url('../images/header_placeholder.jpg');
    }
    .header .content {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100%;
    }
    .header h1 {
        text-align: center;
        color: #FFFFFF;
    }
    .header p {
        font-size: 18px;
        color: #FFFFFF;
        text-align: center;
    }
    .review-holder {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
    }
    .header .review-holder {
        align-items: center;
        margin-top: 60px;
    }
        .header .review-stars {

        }
        .header .review-holder span {
            color: #F5F5F5;
        }

    .header h1 {
        font-size: 64px;
        font-weight: 100;
    }
    .header h1 i{
        font-weight: 800;
    }
    .header-overlay {
        z-index: 1;
        width: 100%;
        max-width: var(--max-width-l);
        position: absolute;
        bottom: 0;
        transform: translateX(-50%) translateY(50%);
        left: 50%;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        flex-wrap: wrap;
    }

    .header-usps {
        width: 100%;
        max-width: 680px;
        display: flex;
        justify-content: space-around;
        align-items: center;
        column-gap: 30px;
        padding: 30px 40px;
        border-radius: 12px;
        box-shadow: var(--drop-shadow);
        background-color: #FFFFFF;
    }
        .header-usps .usp {
            display: flex;
            flex-direction: column;
            text-align: center;
        }
            .header-usps .usp span:first-child {
                color: var(--blue);
                font-size: 36px;
                letter-spacing: 1px;
                font-weight: bold;
            }




/* reviews */
.section.section-overflow-visible {
    overflow: visible;
}

.reviews-holder {
    width: 100%;
    position: relative;
}

.reviews {
    display: flex;
    column-gap: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    padding-right: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    margin-top: -20px;
    margin-bottom: -20px;
}

.review-card {
    min-width: 420px;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: var(--card-padding);
    border-radius: 12px;
    background-color: #FFFFFF;
    box-shadow: var(--drop-shadow);
    row-gap: 20px;
    font-size: 16px;
    overflow: hidden;
    position: relative;
}
    .review-card::before {
        content: "";
        position: absolute;
        top: 20px;
        right: 30px;
        background-image: url('../images/quote.svg');
        background-size: contain;
        background-repeat: no-repeat;
        width: 40px;
        height: 40px;
    }
    .review-card .review-stars {
        margin-bottom: -10px;
    }
    .review-info {
        width: 100%;
        margin-top: auto;
    }
        .review-info h2 {
            font-size: 18px;
            text-transform: uppercase;
            color: var(--darkblue);
            margin-bottom: 4px;
        }
        .review-info .desc {
            color: var(--lightblue);
        }
    .review-card .btn-holder {
        position: absolute;
        bottom: 0;
        right: 0;
        margin-top: unset;
    }
    .review-card button {
        padding: 14px 24px;
        background-color: var(--yellow);
        border-radius: 0;
        border-top-left-radius: 12px;
        font-size: 16px;
        color: #FFFFFF;
    }
    .review-card button:hover {
        filter: brightness(0.75);
    }
    .review-card:last-child {
        margin-right: var(--padding-hor);
    }



.bg-img {
    z-index: -1;
    position: absolute;
    left: 50px;
    bottom: -120px;
    width: 300px;
    height: 300px;
    background-size: contain;
    background-repeat: no-repeat;
}



.footer {
    width: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding-inline: var(--padding-hor);
}
    .footer-inner {
        width: 100%;
        max-width: var(--max-width-xl);
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 30px;
        background-color: var(--blue);
        border-radius: 20px;
        padding: var(--padding-vert) 40px;
        padding-right: 100px;
    }
    .footer-nav {
        width: 100%;
        max-width: 1400px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        column-gap: 30px;
        row-gap: 30px;
        color: #FFFFFF;
    }
        .footer-list {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 12px;
        }
            .footer-list h3 {
                color: #FFFFFF;
                font-size: 20px;
            }
            .footer-list>a, .footer-list>span {
                font-size: var(--text-size);
                font-family: var(--font1);
                color: #FFFFFF;
            }
            .footer-list>a {
                display: flex;
                align-items: center;
                column-gap: 10px;
            }
            .footer-list-icons {
                width: 100%;
                max-width: 100%;
                display: flex;
                gap: 10px;
                flex-wrap: wrap;
                margin-top: 20px;
            }
                .footer-list-icons img {
                    height: 30px;
                    object-fit: contain;
                }
            
        .footer-info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 30px;
        }
            .footer-info img {
                height: 90px;
                object-fit: contain;
            }
            .footer .contact-details {
                margin-top: 0px;
            }
            .footer .social-details {
                margin-top: 20px;
            }




.insta-posts-container {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--darkblue);
}
    #insta-posts {
        width: 100%;
        max-width: 1450px;
        display: flex;
        flex-direction: column;
        row-gap: 20px;
        padding: 0px 15px;
    }
        #insta-posts .posts-content {
            width: 100%;
            display: flex;
        }
        #insta-posts .post {
            flex: 1;
            margin: 0 5px;
            position: relative;
            display: block;
            text-decoration: none;
            cursor: pointer;
            border-radius: 12px;
        }
            #insta-posts .post img {
                width: 100%;
                aspect-ratio: 1/1;
                border-radius: 12px;
                object-fit: cover;
                transition: all .3s ease;
            }
            #insta-posts .post:hover img {
                filter: brightness(0.75);
                transition: all .3s ease;
            }
    
            #insta-posts .post .post_stats {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 24px;
                opacity: 0;
                transition: opacity .3s ease;
            }
                #insta-posts .post:hover .post_stats {
                    opacity: 1;
                    transition: opacity .3s ease;
                }
                #insta-posts .post .post_stats .comments,
                #insta-posts .post .post_stats .likes {
                    display: flex;
                    align-items: center;
                    column-gap: 6px;
                    font-size: 18px;
                    color: #ffffff;
                }
                #insta-posts .post .post_stats .icon {
                    font-size: 16px;
                }
            #insta-posts .post .post_type {
                position: absolute;
                top: 10px;
                right: 10px;
                font-size: 16px;
                color: #ffffff;
            }
    
            #insta-posts .posts-top {
                width: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
                #insta-posts .posts-top .handle {
                    column-gap: 16px;
                    font-size: 26px;
                    font-family: var(--font2);
                    color: #ffffff;
                }
                #insta-posts .posts-top .handle a {
                    display: flex;
                    align-items: center;
                    column-gap: 16px;
                }
                    #insta-posts .posts-top .handle i {
                        font-size: 38px;
                    }
                #insta-posts .posts-top .btn-holder {
                    width: unset;
                }


.review-stars {
    display: flex;
    column-gap: 4px;
}
    .review-stars i {
        color: var(--yellow);
        font-size: 18px;
    }


.signature {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #ffffff;
    padding-inline: var(--padding-hor);
}
    .signature-inner {
        width: 100%;
        max-width: var(--max-width-xl);
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 10px;
        color: var(--darkblue);
        font-size: 14px;
        font-family: var(--font1);
        padding: 20px 15px;
    }
        .signature .left {
            color: var(--darkblue);
        }
        .signature .right {
            color: grey;
            display: flex;
            column-gap: 20px;
        }

.banner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


/*  MOBILE NAVBAR  */
#mobile-navbar {
    z-index: 1;
    position: relative;
    display: none;
}
#mobile-navbar .burger:hover {
	cursor: pointer;
}
	#mobile-navbar .burger {
		position: relative;
        display: flex;
        flex-direction: column;
        row-gap: 8px;
	}
		#mobile-navbar .menu-bar {
            position: relative;
            background-color: #FFFFFF;
			width: 36px;
            height: 5px;
            border-radius: 20px;
			display: block;
		}
        #mobile-navbar.navbar-open {
            display: none;
            position: fixed;
            top: 105px;
            right: 20px;
            z-index: 20;
        }
		#mobile-navbar.navbar-open .bar1 {
			transform: translateY(-2px) rotate(45deg);
		}
		#mobile-navbar.navbar-open .bar2 {
			opacity: 0;
		}
		#mobile-navbar.navbar-open .bar3 {
			transform: translateY(2px) rotate(-45deg);
		}
		#mobile-navbar .burger .bar1, #mobile-navbar .burger .bar2, #mobile-navbar .burger .bar3 {
			transform-origin: left;
			transition: transform .3s ease, opacity .3s ease;
		}

        #mobile-menu {
            z-index: 999;
            width: 100%;
            height: 100%;
            position: fixed;
            display: flex;
            opacity: 0;
            flex-direction: column;
            background-color: #464be4d7;
            transition: right 0.35s ease, opacity 0.2s ease;
            pointer-events: none;
        }
        #mobile-menu.mobile-menu-open {
            right: 0;
            opacity: 1;
            pointer-events: all;
        }
        #mobile-menu-overlay {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9;
        }
        #mobile-menu-overlay.active {
            display: block;
        }
        
        .mobile-menu-inner {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        
        .mobile-menu-header {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 10px;
            flex-shrink: 0;
        }
            .mobile-menu-header img.logo {
                height: 75px;
                object-fit: contain;
            }
            .menu-exit {
                width: 36px;
                height: 36px;
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
            }
                .menu-exit i.fa-solid {
                    font-size: 42px;
                    color: #FFFFFF;
                }
        
        /* Root nav list */
        .mobile-nav-list {
            list-style: none;
            padding: 0;
            margin: 0;
            overflow-y: auto;
            flex: 1;
        }
        .mobile-nav-list li,
        .mobile-nav-sub li {
            padding-left: 0;
        }
        .mobile-nav-list li::before,
        .mobile-nav-sub li::before {
            content: none;
        }

        .mobile-nav-list > li > a,
        .mobile-nav-list > li > .mobile-nav-item > a {
            display: block;
            padding: 16px 20px;
            font-size: 18px;
            font-family: var(--font1);
            color: #FFFFFF;
        }
        .mobile-nav-item {
            display: flex;
            align-items: stretch;
        }
            .mobile-nav-item > a {
                flex: 1;
                border-bottom: none !important;
            }
            .mobile-nav-arrow {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 52px;
                flex-shrink: 0;
                cursor: pointer;
                color: #FFFFFF;
                border-left: 1px solid rgba(255,255,255,0.15);
                font-size: 14px;
            }
                .mobile-nav-arrow:hover {
                    background-color: rgba(0,0,0,0.05);
                }
                .mobile-nav-arrow i {
                    transition: transform 0.3s ease;
                }
                .mobile-nav-arrow.open i {
                    transform: rotate(90deg);
                }

            #mobile-menu .btn-holder {
                margin-top: 0;
            }

        .mobile-nav-sub {
            list-style: none;
            padding: 0;
            margin: 0;
            max-height: 0;
            overflow: hidden;
            background-color: rgba(0,0,0,0.12);
            transition: max-height 0.3s ease;
        }
            .mobile-nav-sub.open {
                max-height: 500px;
            }

            .mobile-nav-sub > li > a {
                display: block;
                padding: 12px 20px 12px 36px;
                font-size: 16px;
                font-family: var(--font1);
                color: #FFFFFF;
            }
                .mobile-nav-sub > li > a:hover {
                    background-color: rgba(0,0,0,0.08);
                }
        

#cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #f3ede5;
    color: #4e3d2c;
    padding: 16px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: none;
    font-family: 'Helvetica Neue', sans-serif;
}

.cookie-content {
    max-width: 960px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.cookie-content p {
    margin: 0;
    flex: 1;
}

.cookie-buttons {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.cookie-buttons button {
    background-color: #242A56;
    color: white;
    border: none;
    padding: 10px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.cookie-buttons button:hover {
    background-color: #242A56;
}

@media (min-width: 600px) {
    .cookie-buttons {
        margin-top: 0;
    }
}



.bg-offwhite {
    background-color: var(--offwhite);
}



.section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--padding-vert) 0;
    overflow: hidden;
}

    .section-inner {
        width: 100%;
        max-width: var(--max-width-m);
        padding: 0 var(--padding-hor);
        display: flex;
        flex-direction: column;
    }
    .section-top {
        width: 100%;
        max-width: var(--max-width-m);
        display: flex;
        justify-content: space-between;
        row-gap: 6px;
        margin-bottom: 60px;
    }
    .section-top.center {
        flex-direction: column;
        align-items: center;
        justify-content: unset;
    }
        .section-top h3 {
            font-size: 18px;
            text-transform: uppercase;
            color: var(--blue);
            margin-bottom: unset;
        }
         .section-top h1,  .section-top h2 {
            font-size: 36px;
            color: var(--darkblue);
            margin-bottom: unset;
            font-weight: bold;
        }
        .section-top .desc {
            color: var(--lightgrey);
        }
        .section-top .btn-holder {
            margin-top: unset;
        }
        .section-top .left,
        .section-top .right {
            display: flex;
            align-items: center;
        }

    .section-top.center {
        text-align: center;
    }





/* diensten kaarten */
.card-holder {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--grid-gap-hor);
    row-gap: var(--grid-gap-vert);
}

/* Content card (white, with header + body) */
.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--card-padding);
    border-radius: 12px;
    background-color: #FFFFFF;
    box-shadow: var(--drop-shadow);
    row-gap: 20px;
    font-size: 16px;
}
    .card-header {
        width: 100%;
        display: flex;
        align-items: center;
        column-gap: 20px;
    }
        .card-header .icon {
            font-size: 18px;
            background-color: var(--blue);
            color: #FFFFFF;
            padding: 8px;
            border-radius: 12px;
        }
        .card-header h3 {
            margin-bottom: unset;
        }
    .card-body {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 20px;
    }
        .card-body .text {
            color: var(--lightgrey);
        }
        .card-body .text ul {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 4px;
            margin-top: 20px;
        }
            .card-body .text ul li {
                color: var(--blue);
            }
            .card {
                position: relative;
            }
            .cutout {
                position: absolute;
                top: -1px;
                right: -1px;
                width: 81px;
                height: 81px;
                background-color: #FFFFFF;
                -webkit-mask-image: url("../images/cutout.svg");
                        mask-image: url("../images/cutout.svg");
                -webkit-mask-size: 100% 100%;
                        mask-size: 100% 100%;
                -webkit-mask-repeat: no-repeat;
                        mask-repeat: no-repeat;
            }
            .cutout.small {
                top: -1px;
                right: -1px;
                width: 41px;
                height: 41px;
            }

    .card .btn-holder {
        /* margin-top: -10px; */
        margin-top: 10px;
    }

/* projecten */.projects-holder {
    width: 100%;
    position: relative;
}

.projects {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    column-gap: 30px;
    padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    padding-right: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
}
.projects.slider {
    padding-right: 0;
}
    .project-tile {
        flex: 1;
        flex-shrink: 0;
        display: flex;
        flex-direction: column;
        row-gap: 10px;
        /* max-width: calc(100% / 3); */
        max-width: 340px;
    }
    .projects.slider .project-tile:last-child {
        margin-right: var(--padding-hor);
    }
        .project-img-tile {
            width: 100%;
            min-height: 360px;
        }
            .project-btn {
                position: absolute;
                top: 0;
                right: 0;
                width: 70px;
                height: 70px;
                display: flex;
                justify-content: center;
                align-items: center;
                z-index: 1;
            }
                .project-btn > div {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    font-size: 24px;
                    color: var(--darkblue);
                    transition: all .3s ease;
                }
                .project-tile a:hover i {
                    transform: scale(1.2);
                    transition: all .3s ease;
                }
            .img {
                position: absolute;
                width: 100%;
                height: 100%;
                background-size: cover;
                background-repeat: no-repeat;
                background-position: top center;
                border-radius: 12px;
            }
        .project-tile-info {
            width: 100%;
            display: flex;
            flex-direction: column;
            row-gap: 4px;
        }
            .project-tile-info h2 {
                font-size: 24px;
                text-transform: uppercase;
                margin-bottom: unset;
                color: var(--blue);
            }
            .project-tile-info .desc {
                color: var(--darkblue);
                display: -webkit-box;
                line-clamp: 3;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

/* veelgestelde vragen */
.faq-container{
    display: flex;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    align-items: flex-start;
    column-gap: var(--grid-gap-hor);
    row-gap: var(--grid-gap-vert);
}
.faq-column{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.faq {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: flex-start;
    column-gap: var(--grid-gap-hor);
    row-gap: var(--grid-gap-vert);
}
    .faq-tile {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: var(--card-padding);
        border-radius: 12px;
        background-color: #FFFFFF;
        box-shadow: var(--drop-shadow);
        row-gap: 20px;
        font-size: 16px;
        cursor: pointer;
    }
        .faq-tile h2 {
            width: 100%;
            font-size: 18px;
            color: var(--darkblue);
            padding-right: 30px;
            margin-bottom: 0;
        }
        .faq-tile .answer { 
            width: 100%;
            color: var(--lightblue);
            display: none;
        }
        .faq-tile[data-faq-open="open"] .answer {
            display: block;
        }
        .faq-tile .question::before {
            position: absolute;
            top: 0;
            right: 0;
            font-size: 24px;
            font-family: "Font Awesome 7 Free";
            font-weight: 900;
        }
        .faq-tile[data-faq-open="closed"] .question::before {
            content: "\f067";
        }
        .faq-tile[data-faq-open="open"] .question::before {
            content: "\f068";
        }

        .projects-holder .dots-container,
        .news-holder .dots-container {
            position: relative;
            margin-top: 30px;
            display: flex;
            justify-content: center;
            width: 100%;
        }
.news-holder {
    width: 100%;
    position: relative;
}
    .news {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        column-gap: 30px;
        padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
        padding-right: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    }
    .news.slider {
        justify-content: flex-start;
        padding-right: 0;
    }
        .news-item {
            flex: 1;
            max-width: calc(100% / 3);
            display: flex;
            flex-direction: column;
            row-gap: 10px;
        }
        .news.slider .news-item:last-child {
            margin-right: var(--padding-hor);
        }
        .news-item .news-img {
            width: 100%;
            min-height: 220px;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: top center;
            border-radius: 12px;
        }
        .news-info {
            flex: 1;
            width: 100%;
            display: flex;
            flex-direction: column;
            row-gap: 4px;
        }
            .news-info .desc {
                margin-bottom: 10px;
            }
            .news-info-bottom {
                width: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-top: auto;
            }
            .news-info .date {
                font-size: 16px;
                color: var(--lightblue);
            }
            .news .btn-holder {
                margin-top: 0;
            }

.service-wave{
    width: 100%;
    object-fit: cover;
}
    .service-wave img{
        width: 100%;
    }


.contact-section {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 var(--padding-hor) var(--padding-vert);
    overflow: hidden;
}
    .bg-banner {
        z-index: 3;
        position: absolute;
        width: 100%;
        height: 400px;
        max-height: 80%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center center;
        border-radius: 12px;
    }
    .bg-banner .cutout {
        background-color: var(--offwhite);
    }
    .header + .contact-section .bg-banner .cutout {
        background-color: #FFFFFF;
    }
    .form-container {
        z-index: 3;
        max-width: var(--max-width-m);
        width: 100%;
        box-shadow: var(--drop-shadow);
        background-color: #FFFFFF;
        border-radius: 12px;
        margin-top: 140px;
        display: flex;
        overflow: hidden;
    }

.form-container .contact-info {
    width: 100%;
    max-width: 340px;
    background-color: var(--blue);
}
    .contact-info h2 {
        color: #FFFFFF;
        margin-bottom: 20px;
    }
    .contact-info .text {
        color: #FFFFFF;
        font-size: 16px;

    }
    .contact-details {
        display: flex;
        flex-direction: column;
        row-gap: 20px;
        margin-top: 40px;
    }
        .contact-details a {
            display: flex;
            align-items: center;
            column-gap: 20px;
            color: #FFFFFF;
            font-size: 18px;
            transition: all .3s ease;
        }
            .contact-details a i {
                color: #FFFFFF;
                font-size: 22px;
            }
    .social-details {
        display: flex;
        align-items: center;
        column-gap: 10px;
        margin-top: 60px;
    }
        .social-details a {
            display: flex;
            align-items: center;
            column-gap: 12px;
            color: #FFFFFF;
            font-size: 24px;
        }
            .social-details a i {
                color: #FFFFFF;
                font-size: 24px;
            }

    .contact-details a:hover,
    .social-details a:hover {
        filter: brightness(0.75);
        transition: all .3s ease;
    }

    .form-container .contact-info,
    .form-container .contact-form {
        padding: 60px 40px;
    }


.form-container .contact-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
    .input-row {
        width: 100%;
        display: flex;
        column-gap: 40px;
    }
        .input-holder {
            flex: 1;
            display: flex;
            flex-direction: column;
            row-gap: 2px;
        }
            .input-holder label {
                font-size: 14px;
                color: var(--lightgrey);
            }
            .input-holder input, .input-holder textarea {
                width: 100%;
                padding: 4px 4px;
                outline: none;
                border: none;
                border-bottom: 2px solid var(--lightgrey);
                font-family: var(--font1);
                font-size: 16px;
                transition: border-color 0.3s ease;
            }
            .input-holder textarea {
                min-height: 140px;
            }
            .input-holder input:focus {
                outline: none;
                border-bottom-color: var(--blue);
                transition: border-color 0.3s ease;
            }
            .input-holder input::placeholder,
            .input-holder textarea::placeholder {
                color: var(--lightgrey);
                opacity: 1;
            }
            .website-field {
                display: none;
            }


.text-block {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--offwhite);
    padding: var(--padding-vert) var(--padding-hor);
}
.text-block2 {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: white;
    padding: var(--padding-vert) var(--padding-hor);
}
    .text-block-inner {
        z-index: 3;
        width: 100%;
        max-width: var(--max-width-m);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: var(--card-padding);
        border-radius: 20px;
        background-color: #FFFFFF;
        box-shadow: var(--drop-shadow);
        row-gap: 20px;
        font-size: 16px;
        overflow: hidden;
    }
        .text-block .content {
            width: 100%;
        }
            .text-block .content h4 {
                color: var(--blue);
                font-size: 20px;
            }
            .text-block .content p,
            .project-block .content p {
                font-size: 32px;
            }
            .project-info p{
                font-size: 1em !important;
            }
            .text-block .content .text {
                color: var(--lightgrey);
            }
.offset-top {
    margin-top: -240px;
}
.text-block-inner.img-right-top {
    overflow: unset;
    background-color: var(--lightblock);
    box-shadow: unset;
    margin-top: 100px;
    padding: var(--card-padding2);
}
    .text-block-inner.img-right-top .content{
        padding-right: 400px;
    }
        .text-block-inner.img-right-top .content .img-back {
            position: absolute;
            top: -75px;
            right: -125px;
            width: 450px;
            height: 300px;            
            background-size: cover;
            background-position: center;
            z-index: 9;
            border-radius: 20px;
        }
        
.text-block3 .text-block-inner.img-right-top {
    overflow: unset;
    background-color: #fff;
    box-shadow: unset;
    margin-top: 0;
    margin-bottom: 40px;
    padding: var(--card-padding2);
}
    .text-block3 .text-block-inner.img-right-top .content{
        padding-right: 400px;
    }
        .text-block3 .text-block-inner.img-right-top .content .img-back {
            position: absolute;
            top: calc(100% - 238px);
            right: -85px;
            width: 450px;
            height: 300px;            
            background-size: cover;
            background-position: center;
            z-index: 9;
            border-radius: 20px;
        }

.content-row {
    display: flex;
    column-gap: 30px;
    align-items: center;
    flex-wrap: wrap;
    margin: 30px 0;
}
    h2.center {
        text-align: center;
    }
    .content-row h2 {
        max-width: 200px;
        right: -30px;
        margin-bottom: unset;
    }
    .content-row .row-img {
        right: -30px;
        flex: 1;
        min-height: 240px;
        width: 100%;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
        background-size: cover;
        background-position: top center;
        background-repeat: no-repeat;
    }



.project-block {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--offwhite);
    padding: var(--padding-vert) var(--padding-hor);
}
    .project-block-inner {
        z-index: 3;
        width: 100%;
        max-width: var(--max-width-l);
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: var(--card-padding);
        border-radius: 20px;
        background-color: #FFFFFF;
        box-shadow: var(--drop-shadow);
        row-gap: 60px;
        font-size: 16px;
        overflow: hidden;
        padding-bottom: 60px
    }
    .project-block .content {
        max-width: var(--max-width-m);
        display: flex;
        align-items: flex-start;
        column-gap: 60px;
    }
    .project-img {
        width: 100%;
        border: 1px solid var(--offwhite);
        border-radius: 10px;
    }
        .project-img img {
            width: 100%;
            height: auto;
            aspect-ratio: 16/9;
            object-fit: contain;
            border-radius: 20px;
        }
    .project-slider {
        width: 100%;
        max-width: var(--max-width-l); 
        margin: 0 auto;
        overflow: hidden; 
        position: relative; 
        width: 100%;
        padding: 0 40px;
    }
    
    .swiper-button-next, 
    .swiper-button-prev {
        z-index: 10; 
        color: #000; 
    }

    .swiper-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover; 
    }

    .project-info {
        flex: 1;
    }
    .project-details {
        width: 100%;
        max-width: 300px;
        min-height: 300px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        column-gap: 20px;
        row-gap: 20px;
        padding: 20px;
        background-color: var(--offwhite);
        border-radius: 20px;
    }
        .project-details {
            color: var(--blue);
            font-size: 1.4em;
        }
.swiper-button-next, .swiper-button-prev{
    width: 20px !important;
    height: 20px !important;
}
.swiper-button-next:after, .swiper-button-prev:after{
    font-size: 30px !important;
}

.text-block .content .btn-holder a.btn.transparent button,
.project-block .content .btn-holder a.btn.transparent button {
    color: black;
}

/* slider */
.slider-container {
    position: relative;
    width: 100%;
    height: auto;
}
.slider-container.has-dots {
    padding-bottom: 30px;
}
    .slider {
        width: 100%;
        display: inline-flex;
        overflow-x: scroll;
        overflow-y: hidden;
        scrollbar-width: none;
        cursor: grab;
    }
        .slider::-webkit-scrollbar {
            display: none;
        }
        .slider-container::before,
        .slider-container::after {
            z-index: 1;
            content: '';
            position: absolute;
            top: 0;
            height: 100%;
            width: 90px;
            pointer-events: none;
            opacity: 0;
        }
        .fade-left::before, .fade-right::after {
            opacity: 1;
            transition: opacity .5s ease;
        }
        
        .arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);            
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 36px;
            color: var(--darkblue);
            background-color: #ffffff;
            text-align: center;
            align-content: center;
            cursor: pointer;
            border-radius: 50%;
            user-select: none;
            transition: opacity .3s ease;
            z-index: 2;
        }
        .arrow>i {
            width: 100%;
            height: 100%;
        }
        .arrow-left { left: 10px; }
        .arrow-right { right: 10px; }
        .arrow:hover { transform: translateY(-50%) scale(1.1); }
        .arrow.disabled {
            opacity: 0.3;
            transition: opacity .3s ease;
        }
        .slider.centered {
            justify-content: center;
        }
        .dots-container {
            width: 100%;
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-top: 30px;
        }
            .dot {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background-color: #ccc;
                cursor: pointer;
                transition: background-color 0.3s;
            }
                .dot.active {
                    background-color: #333;
                }

div.ons-team{
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 64px 16px;
}
    div.ons-team-inner{
        max-width: var(--max-width-l);
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 32px;
    }
        div.team-item{
            max-width: 350px;
            width: 100%;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            align-self: stretch;
            flex-direction: column;
            gap: 16px;
            border: 2px solid var(--offwhite);
            border-radius: 12px;
            padding: 32px 8px;
        }
        .team-item-img{
            max-width: 150px;
            width: 100%;
            text-align: center;
        }
            .team-item-img img{
                width: 100%;
                aspect-ratio: 1/1;
                object-fit: cover;
                border-radius: 9999px;
            }
            .team-item h4{
                color: var(--darkblue);
                font-size: .7em;
            text-align: center;
            }
            .team-item h3{
                color: var(--blue);
            text-align: center;
            }
            .team-item p{
                font-size: .9em;
                color: var(--lightgrey);
            text-align: center;
            }
    div.ons-team-holder{
        max-width: var(--max-width-l);
    }
        div.ons-team-inner.slider{
            justify-content: flex-start;
            padding-top: 5px;
            padding-bottom: 5px;
        }
            div.ons-team-inner.slider .team-item{
                flex-shrink: 0;
            }
div.cta-section{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 32px;
}
    div.cta-section-inner{
        max-width: var(--max-width-l);
        width: 100%;
        border-radius: 12px;
        box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.1);
        background: var(--blue);
        color: var(--offwhite);
        padding: 32px 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
        div.cta-section-inner h3{
            color: #FFF;
            font-size: 2em;
        }
div.slogan-section{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 32px;
}
    div.slogan-section-inner{
        max-width: var(--max-width-xl);
        width: 100%;
        border-radius: 12px;
        /* box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.1); */
        background: var(--darkblue);
        color: var(--offwhite);
        padding: 32px 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;
    }
        div.slogan-section-inner h2{
            color: #FFF;
            font-size: 2em;
            margin:0px;
        }
        div.slogan-section-inner h3{
            color: #FFF;
            font-size: 2em;
            margin:0px;
        }
.lr-block{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 64px 32px;    
}
    .lr-block-inner {
        max-width: var(--max-width-l);
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
        padding: 32px;
        /* box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1); */
    }
    .lr-block-l{
        width: 100%;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }
    .lr-block-r{
        max-width:750px;
        width: 100%;
    }
        .lr-block-r img{
            width: 100%;
            object-fit: contain;
            max-height: 600px;
            border-radius: 20px;
        }
@media only screen and (max-width: 1600px){

    :root {
        --header-offset         :15px;
    }

}

@media only screen and (max-width: 1350px){




}

@media only screen and (max-width: 1250px){


}

@media only screen and (max-width: 1200px){


}

@media only screen and (max-width: 1150px){


}

@media only screen and (max-width: 1100px){

    #mobile-navbar {
        display: block;
    }


    .footer-info {
        width: 100%;
    }
    .footer-list {
        padding-right: 20px;
    }

}

@media only screen and (max-width: 1050px){

    .navbar-inner .nav #mobile-navbar {
        display: flex;
    }

    .nav>a,
    .nav .nav-dropdown {
        display: none;
    }

    .news {
        justify-content: flex-start;
        padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    }
    .news-item {
        width: 100%;
        max-width: 340px;
        flex: unset;
        flex-shrink: 0;
    }
    .news-item:last-child {
        margin-right: var(--padding-hor);
    }

    .projects {
        justify-content: flex-start;
        padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    }
    .project-tile {
        width: 100%;
        max-width: 340px;
        flex: unset;
        flex-shrink: 0;
    }
    .project-tile:last-child {
        margin-right: var(--padding-hor);
    }
    .project-img-tile {
        min-height: 300px;
    }

}

@media only screen and (max-width: 1000px){


}

@media only screen and (max-width: 950px){



}


@media only screen and (max-width: 900px){

    .lr-block {
        padding: 48px 32px;
    }
    .lr-block-inner {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 32px;
        padding: 0;
    }
    .lr-block-r {
        max-width: unset;
    }
    .lr-block-r img {
        max-height: 400px;
    }

    .text-block-inner.img-right-top {
        margin-top: 0;
    }
    .text-block-inner.img-right-top .content,
    .text-block3 .text-block-inner.img-right-top .content {
        padding-right: 0;
    }
    .text-block-inner.img-right-top .content .img-back,
    .text-block3 .text-block-inner.img-right-top .content .img-back {
        position: unset;
        top: unset;
        right: unset;
        width: 100%;
        height: 260px;
        margin-bottom: 30px;
    }

}


@media only screen and (max-width: 850px){

    .header {
        max-height: calc(100vh - 60px);
    }

    .faq {
        grid-template-columns: repeat(1, 1fr);
    }
    .faq-container {
        flex-direction: column;
        align-items: stretch;
        row-gap: 16px;
    }

}

@media only screen and (max-width: 830px){
   
    

}

@media only screen and (max-width: 800px){

    :root {
        --grid-gap-hor      :30px;
    }

    /* .cutout {
        width: 61px;
        height: 61px;
    } */

    .project-block .content {
        flex-direction: column;
        row-gap: 30px;
    }
    .project-details {
        max-width: unset;
        min-height: unset;
        flex-direction: unset;
        justify-content: space-evenly;
        flex-wrap: wrap;
    }

    .form-container .contact-info, .form-container .contact-form {
        padding: 40px 30px;
    }

    .input-row {
        column-gap: 20px;
    }


}

@media only screen and (max-width: 768px){


}

@media only screen and (max-width: 750px){

    :root {
        --card-padding    :20px;
    }

    .header h1 {
        font-size: 36px;
    }
    .header .review-holder {
        margin-top: 30px;
    }

    .navbar-inner .nav button,
    .header .btn button {
        font-size: 16px;
        padding: 8px 14px;
    }

    .section-top h1 {
        font-size: 32px;
    }

    .header-usps {
        max-width: 480px;
        column-gap: 20px;
        padding: 20px 30px;
    }
        .header-usps .usp span:first-child {
            font-size: 28px;
        }

    .form-container {
        flex-direction: column;
    }
        .form-container .contact-info {
            max-width: unset;
        }

    .social-details {
        margin-top: 30px;
    }
    .contact-details {
        margin-top: 30px;
    }
    .contact-details a {
        column-gap: 10px;
        font-size: 16px;
    }
    .contact-details a i {
        font-size: 20px;
    }

    .contact-info h1 {
        font-size: 32px;
    }
}

@media only screen and (max-width: 700px){

   .review-card {
        min-width: unset;
        width: calc(100vw - 30px);
        max-width: 400px;
        flex-shrink: 0;
    }

    .review-card .btn-holder {
        position: unset;
        bottom: unset;
        right: unset;
    }
    .review-card button {
        padding: 8px 14px;
        border-radius: 12px;
    }

}

@media (max-width: 650px) {

    .navbar-inner {
        padding: 15px 30px;
    }

    .navbar-inner .nav {
        column-gap: 30px;
    }

    .card-holder {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
        .card-body .text ul {
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

    .footer-inner {
        padding: 40px 20px
    }
    .footer-nav {
        column-gap: 60px;
    }

    .content-row {
        flex-direction: column;
        row-gap: 30px;
    }

    .content-row h2 {
        max-width: unset;
        right: unset;
    }

}

@media only screen and (max-width: 600px){

    :root {
        --card-padding2   :30px 20px;
    }

    ul,
    div.text ul,
    div.text ol {
        padding-left: 0;
    }

    .navbar-inner .nav .btn-holder {
        display: none;
    }

    .header-inner {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .text-block,
    .text-block2 {
        padding-inline: 0;
    }
        .text-block-inner {
            border-radius: 0;
        }

    .input-holder input, .input-holder textarea {
        padding: 12px 4px;
    }

    .cutout {
        width: 50px;
        height: 50px;
    }
    .cutout.small {
        width: 28px;
        height: 28px;
    }

    .offset-top {
        margin-top: -160px;
    }

    div.slogan-section,
    div.cta-section {
        padding: 0;
    }
        div.slogan-section-inner,
        div.cta-section-inner {
            border-radius: 0;
        }

    .section-top h1 {
        font-size: 26px;
    }
    .project-tile-info h2 {
        font-size: 20px;
    }

    .text-block .content p, .project-block .content p {
        font-size: 26px;
    }
    .project-details span {
        font-size: 22px;
    }
    .header-inner {
        padding: 60px 30px;
    }
    .header h1 {
        font-size: 32px;
    }

    #insta-posts .posts-content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    #insta-posts .posts-content> *:nth-child(n+3) {
        display: none;
    }

    #insta-posts .posts-top{
        flex-direction: column;
        align-items: flex-start;
        gap: 1em;
    }

    .section-top {
        flex-wrap: wrap;
        align-items: center;
        column-gap: 30px;
        row-gap: 10px;
        margin-bottom: 40px;
    }

    
    .contact-info h1 {
        font-size: 26px;
    }

}

@media only screen and (max-width: 540px){
    
    
}

@media only screen and (max-width: 510px){

    

}

@media only screen and (max-width: 450px){

    .project-block,
    .footer,
    .header,
    .contact-section
    {
        padding-inline: 0;
    }

    .footer-inner {
        padding-inline: 15px;
    }

    .header {
        margin-top: 0;
    }
    .header-inner {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }
    .navbar-inner {
        padding: 15px 10px;
    }

    .header-inner {
        padding: 60px 15px;
    }

    .form-container {
        margin-top: 100px;
    }
        .form-container .contact-info, .form-container .contact-form {
            padding: 30px 15px;
        }

}

@media only screen and (max-width: 400px){

    .header {
        max-height: unset;
    }
    .header-inner {
        padding: 150px 15px 80px;
        row-gap: 20px;
    }
    .header-overlay {
        position: relative;
        transform: unset;
        left: unset;
        bottom: unset;
        top: 100px;
        margin-top: -60px;
    }
    .header-usps {
        max-width: 320px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        padding: 30px 20px;
    }

    .news-item,
    .project-tile {
        max-width: calc(100vw - 30px);
    }
}

@media only screen and (max-width: 380px){

    .nav .btn-holder {
        display: none;
    }
    

}



/* grid layout voor nieuws- en portfolio-overzicht (Meer laden i.p.v. slider) */
.news.grid,
.projects.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 50px;
    padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
    padding-right: max(var(--padding-hor), calc((100vw - var(--max-width-m)) / 2 + var(--padding-hor)));
}
    .news.grid .news-item,
    .projects.grid .project-tile {
        max-width: 100%;
        width: 100%;
        flex: unset;
    }

.load-more-holder {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
    .load-more-holder .btn.disabled {
        opacity: .6;
        pointer-events: none;
    }

@media only screen and (max-width: 1050px) {
    .news.grid,
    .projects.grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 700px) {
    .news.grid,
    .projects.grid {
        grid-template-columns: 1fr;
        row-gap: 30px;
    }
    .news.grid .news-item,
    .projects.grid .project-tile {
        max-width: 100%;
    }
}

.wa-btn {
    z-index: 4;
    position: fixed;
    bottom: 25px;
    right: 15px;
    background-color: #25D366; 
    width: 50px;
    height: 50px;
    border-radius: 999px;
    display: flex;
    justify-content: center;
    align-items: center;
}
    .wa-btn i {
        font-size: 28px;
        color: #FFFFFF;
    }
    .wa-tooltip {
        position: absolute;
        left: -170px;
        top: 10px;
        width: 160px;
        text-align: center;
        background: #FFFFFF;
        font-size: 14px;
        padding: 8px 6px;
        border-radius: 999px;
        box-shadow: 3px 3px 16px rgba(0, 0, 0, 0.1);
    }

