
/* Fonts: AccordAlternate & IsidoraSans Alt */


/* IsidoraSans: Bold en meer? */

@font-face {
    font-family: 'Isidora Sans';
    src: local('Isidora Sans Alt'), local('Isidora Sans Alt'),
        url('../fonts/Isidora.Sans/IsidoraSansAlt-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Isidora Sans';
    src: local('Isidora Sans Alt'), local('Isidora Sans Alt'),
        url('../fonts/Isidora.Sans/IsidoraSansAlt-Bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

/* Accord Alternate Regular */
@font-face {
    font-family: 'Accord Alternate';
    src: local('Accord Alternate'), local('Accord Alternate'),
        url('../fonts/AccordAlternate/AccordAlternate-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/* Accord Alternate Medium */
@font-face {
    font-family: 'Accord Alternate';
    src: local('Accord Alternate'), local('Accord Alternate'),
        url('../fonts/AccordAlternate/AccordAlternate-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
/* Accord Alternate Bold */
@font-face {
    font-family: 'Accord Alternate';
    src: local('Accord Alternate'), local('Accord Alternate'),
        url('../fonts/AccordAlternate/AccordAlternate-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}
/* Accord Alternate Italic */
@font-face {
    font-family: 'Accord Alternate';
    src: local('Accord Alternate'), local('Accord Alternate'),
        url('../fonts/AccordAlternate/AccordAlternate-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

:root {

    --white                     :#FFFFFF;
    --offwhite                  :#DAEAF0;
    --lightblue                 :#77B3CF;
    --green                     :#568C44;
    --darkgreen                 :#224C32;   
    --yellow                    :#E5A42D;
    --lightbrown                :#cabf9e;


    --font1                     :'Isidora Sans', sans-serif;
    /* --font2                  :'Isidora Sans', sans-serif; */
    --font-text                 :'Accord Alternate', sans-serif;

    --mask-margin-offset        :40px; 

    --title-size                :36px;
    --text-size                 :18px;
    
}

body,
body *,
*::before,
*::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    position: relative;
}
body {
    font-size: var(--text-size);
    font-family: var(--font-text);
    color: var(--green);
    font-weight: normal;
    background-color: var(--white);
    overflow-x: hidden;
}

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

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 {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

h1, h2, h3 {
    font-weight: 400;
}

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

ul {
    padding-left: 1.2em;
}

.btn-holder {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap; 
    gap: 30px;
}
.btn-holder.center {
    justify-content: center;
    width: 100% !important;
}
.btn-holder.center a.btn { margin-right: 46px; }
.btn-holder a.btn:last-child { margin-right: 0; }
.btn-holder.col {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
    .btn-holder a.btn {
        display: flex;
        align-items: center;
        font-family: var(--font1);
        font-size: var(--text-size);
        font-weight: bold;
        letter-spacing: 1px;
        text-decoration: none;
        background-color: transparent;
        color: var(--white);
        border: 1px solid var(--green);
        cursor: pointer;
        padding: 10px 20px 8px;
        border-radius: 100px;
        transition: all .3s ease;
    }
        .btn-holder a.btn::selection {
            color: inherit;
        }
        .btn-holder.transparent a.btn {
            background-color: transparent;
        }
        
    .btn-holder a.btn:hover {
        transition: all .3s ease;
        transform: scale(1.05);
    }
    .btn-holder a.btn.inactive {
        cursor: unset;
    }
    .btn-holder a.btn.inactive:hover {
        transform: unset;
    }
    .btn-holder a.btn>i {
        margin-right: 6px;
    }
    .btn-holder a.btn>span {
        height: 18px;
        width: 18px;
        mask-size: contain;
        mask-position: center;
        mask-repeat: no-repeat;
        background-color: var(--white); 
        margin-right: 8px;
    }
    .btn-holder.end {
        justify-content: flex-end;
    }

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

/*  MOBILE NAVBAR  */
#mobile-navbar {
    z-index: 1;
}
#mobile-navbar .burger:hover {
	cursor: pointer;
}
	#mobile-navbar .burger {
		position: relative;
	}
		#mobile-navbar .menu-bar {
			background-color: var(--darkbrown);
            border-radius: 10px;
			width: 42px;
			height: 5px;
			display: block;
			margin-bottom: 8px;
			opacity: 1;
		} #mobile-navbar .menu-bar.bar2 {
            width: 30px;
            margin: 0 0 8px auto;
        }
        #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: all .6s ease;
		}

#mobile-menu {
	width: 100%;
	height: 100%;
	position: fixed;
	display: none;
    justify-content: center;
    align-items: center;
	opacity: 0;
	left: 0;
	top: 0;
	background-color: var(--brown);
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
	z-index: 10;
}
    .menu-exit {
        position: absolute;
        right: 30px;
        top: 30px;
    }
        .menu-exit i.fa-solid {
            cursor: pointer;
            color: var(--white);
            font-size: 50px;
        }
	.mobile-menu-inner {
		padding: 40px 10px;
	}
        .mobile-menu-inner ul {
            list-style-type: none;
            text-align: center;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            row-gap: 30px;
        }
            .mobile-menu-inner ul li {

            }
                .mobile-menu-inner ul li a {
                    color: var(--white);
                    font-size: 26px;
                    font-family: var(--font1);
                    text-decoration: none;
                }

    .mobile-sub-menu {
        display: none;
        flex-direction: column;
        row-gap: 12px;
        padding: 14px 0 0;
    }
    .mobile-menu-inner ul li .mobile-sub-menu a {
        font-size: 16px;
        font-weight: unset;
        color: var(--black);
    }
    .mobile-sub-menu.open {
        display: flex;
        transition: all 0.3s ease-in-out;
    }

	#mobile-menu.mobile-menu-open {
		display: flex;
		opacity: 1;
		transition: opacity .6s ease;
	}
    #mobile-navbar.navbar-open .menu-bar { 
        background-color: var(--darkbrown);
    }
	#mobile-navbar {
		display: none;
    }

/* .topbar {
    width: 100%;
    height: 38px;
    display: flex;
    justify-content: center;
    background-color: var(--offwhite);
}
    .topbar-inner {
        width: 100%;
        max-width: 1920px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        column-gap: 30px;
        padding: 10px 15px;
    }
    .topbar-inner .left {

    }
        .topbar-inner .left span {
            color: var(--orange);
            font-family: var(--font-text);
            font-size: 12px;
        }
    .topbar-inner .right {
        display: flex;
        column-gap: 30px;
    }
        .topbar-inner a {
            display: flex;
            align-items: center;
            column-gap: 16px;
            font-family: var(--font-text);
            font-size: 12px;
            color: var(--orange);
            text-decoration: none;
        }
        .topbar-inner a img {
            width: 18px;
            object-fit: contain;
        } */

/* .navbar {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--white);
    overflow-x: hidden;
}
    .navbar-inner {
        width: 100%;
        max-width: 1400px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        column-gap: 30px;
        padding: 22px 15px;
    }
        .navbar-inner img.logo {
            height: 40px;
        }
        .nav {
            flex-grow: 1;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            column-gap: 40px;
        }
            .nav a {
                font-size: 16px;
                color: var(--darkbrown);
            }
            .nav a.btn {
                display: flex;
                align-items: center;
                font-family: var(--font-text);
                font-size: 16px;
                text-transform: uppercase;
                text-decoration: none;
                background-color: var(--white);
                border: 1px solid var(--brown);
                color: var(--brown);
                cursor: pointer;
                padding: 10px 22px 10px 18px;
                margin-left: 20px;
                border-radius: 100px;
                transition: all .3s ease;
            } */



.footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 15px;
    background-color: var(--offwhite);
}
    .footer-inner {
        width: 100%;
        max-width: 800px;
        display: flex;
        justify-content: space-between;
        column-gap: 80px;
        row-gap: 20px;
    }
        .footer .image-holder {
            width: 100%;
            max-width: 180px;
            height: 180px;
        }
            .footer .image-holder .image {
                position: relative;
                width: 100%;
                height: 100%;
                background-size: cover;
                background-position: center;
                border-radius: 49% 51% 52% 48% / 53% 54% 46% 47%;
                z-index: 2;
            }
        .footer .content {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            align-self: center;
            column-gap: 50px;
        }
            .footer .content h1.title {
                font-size: var(--title-size);
                font-family: var(--font1);
                font-weight: bold;
                color: var(--green);
                margin-bottom: 10px;
            }
            .footer .lists {
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                row-gap: 20px;
                column-gap: 30px;
                padding-left: 20px;
            }
                .footer .list {
                    display: flex;
                    flex-direction: column;
                    flex-wrap: wrap;
                    font-size: var(--text-size);
                    font-weight: 500;
                    color: var(--white);
                }
            .footer .content span {
                color: var(--darkgreen);
            }
                .footer .content span img {
                    display: inline-block;
                    width: 20px;
                    height: 20px;
                    margin-right: 6px;
                }
                .footer span>a>img {
                    top: 4px;
                }
            .linkedin {
                margin-left: 30px;
            }

/* .signature {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 100px 15px 10px;
}
    .signature-inner {
        width: 100%;
        max-width: 1920px;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        row-gap: 10px;
    }
        .signature-left {
            display: flex;
            column-gap: 20px;
        }
            .signature-left span {
                color: var(--offwhite);
                font-size: 14px;
                font-style: italic;
                font-weight: normal;
            }
                .signature-left span a {
                    color: inherit;
                    font-style: inherit;
                    font-weight: inherit;
                    font-size: inherit;
                    font-family: inherit;
                }

        .signature-right {

        }
            .signature-right span {
                font-family: var(--font-text);
                font-size: 14px;
                color: var(--brown);
                text-decoration: none;
            }
                .signature-right span a {
                    color: inherit;
                    font-family: inherit;
                    text-decoration: none;
                } */



.banner {
    position: relative;
    width: 100%;
    height: 580px;
    overflow: hidden;
}
    .banner .lazy {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


.content-block {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 80px 15px;
    background-color: var(--white);
}
    .content-block-inner {
        width: 100%;
        max-width: 1000px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        column-gap: 100px;
    }
        .content-block .content {
            flex: 1;
        }
            .content-block .content img.logo {
                width: 100%;
                max-width: 250px;
                margin-bottom: 35px;
            }
            .content-block .content h1.title {
                font-size: var(--title-size);
                font-family: var(--font1);
                font-weight: bold;
                color: var(--darkgreen);
                margin-bottom: 16px;
            }
            .content-block .content h2.title2 {
                font-size: 34px;
                font-family: var(--font1);
                color: var(--darkgreen);
                margin-bottom: 16px;
            }
            .content-block .content .text {
                font-size: var(--text-size);
                font-weight: 500;
                color: var(--green);
                line-height: 1.5;
            }
            .content-block .btn-holder {
                margin-top: 30px;
            }


.content-block.reverse .content-block-inner {
    flex-direction: row-reverse;
}

.content-block .image-holder {
    position: relative;
    width: 100%;
    max-width: 320px;
    height: 320px;
}
    .content-block .image-holder .image {
        position: relative;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        border-radius: 49% 51% 52% 48% / 53% 54% 46% 47%;
        z-index: 2; /* Keep this above */
        transform: translateZ(1px); /* Brings the .image forward */
    }
        .image-holder::before {
            content: "";
            position: absolute;
            top: -5px;
            left: -5px;
            background-color: var(--yellow);
            width: calc(100% + 10px);
            height: calc(100% + 10px);
            border-radius: 54% 46% 55% 45% / 60% 48% 52% 40%;
            z-index: 1; /* This remains lower */
            transform: translateZ(0); /* Pushes the ::before behind */
        }

.info-block {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 60px 15px;
    background-color: var(--darkgreen);
}
    .info-block-inner {
        width: 100%;
        max-width: 1000px;
        display: flex;
        flex-direction: column;
    }
        .info-block-inner .title {
            font-size: var(--title-size);
            font-family: var(--font1);
            font-weight: bold;
            color: var(--green);
            margin-bottom: 16px;
        }
            .info-block .lists {
                display: flex;
                column-gap: 80px;
                justify-content: space-between;
            }
                .info-block  .list {
                    list-style: none;
                    padding-left: 0;
                    font-size: var(--text-size);
                    font-weight: 500;
                    color: var(--white);
                }
                    .info-block  .list li {
                        position: relative;
                        padding-left: 40px;
                        margin-bottom: 16px;
                    }
                    .info-block  .list li::before {
                        content: "";
                        position: absolute;
                        left: 0;
                        top: 50%;
                        transform: translateY(-50%);
                        width: 24px;
                        height: 24px;
                        background-image: url('../images/bullet.svg');
                        background-size: contain;
                        background-position: center;
                        background-repeat: no-repeat;
                    }
        .info-block-inner .btn-holder {
            margin-top: 20px;
        }


.mask-top::before, .mask-btm::after {
    content: "";
    -webkit-mask-image: url("../images/mask.svg");
    -webkit-mask-size: cover;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("../images/mask.svg");
    mask-size: cover;
    mask-position: center;
    mask-repeat: no-repeat;
    height: 80px;
    width: calc(100% + 10px);
    background-color: var(--darkgreen);
    position: absolute;
    top: -45px;
    left: -5px;
    right: -5px;
}
.mask-btm::after {
    z-index: 1;
    top: calc(100% - 5px);
    transform: rotate(180deg);
}

/* Voeg margin toe als de gap groter moet zijn door masks */
.content-block:has(+ .mask-top) { padding-bottom: 120px; }
.mask-btm + .content-block { padding-top: 120px; }
.mask-btm + .footer { padding-top: 120px; }

.dots {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}
    .dot {
        width: 18px;
        height: 18px;
        margin: 0 5px;
        border: 3px solid var(--lightbrown);
        border-radius: 50%;
        background-color: transparent;
        cursor: pointer;
        transition: background-color 0.3s;
    }
    .dot.active {
        background-color: var(--lightbrown);
        transition: background-color 0.3s;
    }



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

    .mask-top::before, .mask-btm::after {
        height: 50px;
    }

}

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

    /* .nav {
        display: none;
    }
    #mobile-navbar {
        display: block;
    } */

    .content-block-inner {
        column-gap: 80px;
    }

    .info-block .lists {
        column-gap: 40px;
    }

    .footer-inner {
        column-gap: 40px;
    }

}


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

    .info-block {
        padding: 40px 15px;
    }
    .content-block,
    .footer {
        padding: 60px 15px;
    }

    .content-block:has(+ .mask-top) { padding-bottom: 100px; }
    .mask-btm + .content-block { padding-top: 100px; }
    .mask-btm + .footer { padding-top: 100px; }

    .content-block-inner {
        column-gap: 60px;
    }

}

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

    .content-block-inner,
    .content-block.reverse .content-block-inner {
        flex-direction: column;
        row-gap: 40px;
    }
    
    .content-block .image-holder {
        max-width: 400px;
        height: 400px;
    }

    .footer-inner .lists {
        padding-left: unset;
    }
}

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

    .info-block .lists {
        flex-direction: column;
    }

}

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

    :root {
        --text-size: 16px;
        --title-size: 28px;
    }

    .footer-inner {
        flex-direction: column;
    }
    .footer .content {
        align-self: unset;
    }

    .content-block .image-holder {
        max-width: 320px;
        height: 320px;
    }

}

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

    .content-block .image-holder {
        max-width: 280px;
        height: 280px;
    }
    .content-block .content img.logo {
        max-width: 220px;
        margin-bottom: 30px;
    }
    
    .info-block {
        padding: 20px 15px;
    }
    .content-block,
    .footer {
        padding: 40px 15px;
    }
    .content-block:has(+ .mask-top) { padding-bottom: 80px; }
    .mask-btm + .content-block { padding-top: 80px; }
    .mask-btm + .footer { padding-top: 80px; }

}


