:root {
    --btn: #943148;;
    --btn-hover: #DD5C6B;
    --grey: #F2F2F2;
    --dark-grey: #CBCBCB;
    --body-text: #0A2D2C;
    --primary: #943148;
    --secondary: #DD5C6B;
    --light-green: #C6FFCF;
    --green: #98CAA0;
    --dark-green: #0A5A48;
    --blue: #19A1B9;
    --dark-blue: #094B57;
}
html, body {
    max-width: 100vw;
    overflow-x: hidden;
}
body {
    color: var(--body-text);
    font-size: 16px;
    line-height: 1.4em;
    font-family: "sofia-pro", sans-serif;
    font-weight: 400;
}
.p, p {
    font-size: 16px;
    line-height: 1.4em;
    color: var(--body-text);
    font-family: "sofia-pro", sans-serif;
}

/* text selection */
::selection {
    background: var(--green);
    color: #fff; /* WebKit/Blink Browsers */
}
::-moz-selection {
    background: var(--green);
    color: #fff; /* Gecko Browsers */
}

.bg-1,
.bg-1,
.bg-2,
.bg-2 {
    background: var(--green);
}
.bg-primary,
.bg-primary {
    background-color: var(--primary)!important;
}
.bg-dark-green {
    background: var(--dark-green);
}
.bg-green {
    background: var(--green);
}
.bg-light-green {
    background: var(--light-green);
}
.bg-blue {
    background: var(--blue);
}
.bg-dark-blue {
    background: var(--dark-blue);
}
/* header */
header {
    /* background: #fff;; */
    position: fixed;
    z-index: 9997;
    height: 100px;
    width: 100vw;
    top: 20px;
    /* box-shadow: 0px 3px 6px #00000029; */
    padding-left: 0px;
    padding-right: 0px;
    transition: ease all 0.3s;
    display: flex;
    flex-direction: column;
    overflow: visible;
    align-items: center;
    filter: drop-shadow(0px 0px 3px rgba(0,0,0.16));
}
header .primary-menu {
    height: 100px;
}
header .primary-menu,
header .top-menu {
    align-items: center;
    margin: 0;
    min-width: 100vw!important;
    padding-left: 80px;
    padding-right: 80px;
}
header.sticky {
    height: 100px;
    top: 0;
    position: fixed;
}
.mobile-menu-top .h-logo,
header .h-logo {
    position: absolute;
    display: flex;
    flex-direction: column;
    left: 80px;
    top: 60%;
    transform: translateY(-50%);
    z-index: 9999;
}
.h-logo img {
    transition: ease all 0.3s;
}
header .logo {
    /* max-height: 85px; */
    /* max-width: 250px; */
    transition: ease all 0.3s;
}
header .sticky-logo {
    max-height: 0px;
    /* max-width: 0px; */
    transition: ease all 0.3s;
}
header.sticky .logo {
    max-height: 0px;
    /* max-width: 0px; */
}
header.sticky .h-logo {
    top: 65%;
}
header.sticky .sticky-logo {
    /* max-width: 250px; */
    max-height: 135px;
}
/* Typography */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
    font-family: "mr-eaves-xl-sans", sans-serif;
    color: var(--body-text);
    font-weight: bold;
}
.bold, b, strong {
    font-weight: 700;
}
a {
    color: var(--primary);
    position: relative;
}
.read-more:after,
a:not(.h-logo):not(.btn):not(.social):after {
    background: var(--primary);
    content: "";
    height: 1px;
    width: 100%;
    max-width: 0px;
    overflow: hidden;
    transition: 0.3s ease all;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 1;
}
.text-dark-green.read-more:after,
a.text-dark-green:not(.h-logo):not(.btn):not(.social):after {
    background: var(--dark-green);
}
a.link-underline:not(.h-logo):not(.btn):not(.social):after {
    max-width: 1000px;
}
a.link-underline:not(.h-logo):not(.btn):not(.social):hover:after {
    max-width: 0px!important;
}
a.text-white:not(.h-logo):not(.btn):after {
    background: #fff;
}
.text-white * {
    color: #fff;
}
.text-primary,
.text-primary * {
    color: var(--primary)!important;
}
.text-light-green,
.text-light-green * {
    color: var(--light-green)!important;
}
.text-green,
.text-green * {
    color: var(--green)!important;
}
.text-dark-green,
.text-dark-green * {
    color: var(--dark-green)!important;
}
a:not(.h-logo):not(.btn):hover {
    text-decoration: none;
    color: var(--primary);
}
.feature a:after {
    display: none;
}
a.social img {
    transition: ease all 0.3s;
}
.social {
    position: relative;
    width: 48px;
    height: 48px;
}
.social .icon,
.social .icon-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 48px;
    height: 48px;
    transition: ease all 0.3s;
}
.social .icon,
.social:hover .icon-hover {
    opacity: 1;
}
.social .icon-hover,
.social:hover .icon {
    opacity: 0;
}
.text p:last-child {
    margin-bottom: 0;
}
header ul {
    list-style: none;
    height: fit-content;
    padding: 0px;
    margin-bottom: 0;
}
nav.navbar {
    padding: 0px;
}
header nav a {
    color: var(--body-text);
    letter-spacing: 1.2px;
    line-height: 50px;
    padding: 13px 20px;
    position: relative;
    display: block;
    font-family: "mr-eaves-xl-sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}
header nav a.phone {
    transform: scaleX(-1);
    font-size: 25px;
    line-height: 1em;
}
header nav a.phone:hover {
    animation: wobble 1s ease 3;
}
header nav a.phone:after {
    display: none!important;
}
header nav .sub-menu a {
    width: fit-content;
    text-transform: unset;
    font-size: 15px;
    color: var(--body-text);
    font-family: 'sofia-pro', sans-serif;
    font-weight: 500;
    line-height: 20px;
}
header nav a:not(.h-logo):not(.btn):not(.social-icon):after {
    content: "";
    height: 3px!important;
    width: 100%;
    max-width: 0px;
    overflow: hidden;
    background-color: var(--dark-green);
    transition: 0.3s ease all;
    position: absolute;
    bottom: 14px;
    left: 0px;
    z-index: 1;
}
header nav .sub-menu a:not(.h-logo):not(.btn):not(.social-icon):after {
    bottom: 6px!important;
    height: 1px!important;
    left: 20px;
    width: calc(100% - 40px);
}
header nav a:not(.h-logo):not(.btn):not(.social-icon):after {
    height: 1px;
    bottom: 16px;
}
a:not(.h-logo):not(.btn):hover:after,
a:hover:after,
footer ul a:hover:after,
header nav a:not(.btn):not(.social-icon):hover:after {
    max-width: 1000px!important;
}
header nav a:hover {
    color: var(--dark-green)!important;
    text-decoration: none;
}
header nav li.current-menu-item > a {
    color: var(--dark-green)!important;
}
header nav li.current-menu-item > a:after {
    /* background: var(--primary)!important; */
    max-width: 1000px!important;
}
header nav li.current-menu-item a:hover:after {
    /* background: var(--primary)!important; */
}
header #menu-menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}
header #menu-menu .menu-item-has-children > a:before {
    content: "\f0d7";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 18px;
    line-height: 1em;
    margin-left: 10px;
}
.menu-item-has-children ul.sub-menu {
    position: absolute;
    background: #fff;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    height: fit-content;
    overflow: hidden;
    max-height: 0;
    transition: ease all 0.3s;
}

.menu-item-has-children:hover > ul.sub-menu {
    max-height: 500px;
    padding-bottom: 15px;
}
.atcb-button,
.ajax-load-more-wrap.purple .alm-load-more-btn,
section .alm-btn-wrap .alm-load-more-btn,
.btn {
    background: var(--primary)!important;
    color: #fff;
    border-radius: 50px;
    padding: 18px 30px;
    letter-spacing: 1.5px;
    line-height: 15px;
    height: auto;
    font-weight: 500;
    position: relative;
    transition: 0.3s all ease;
    text-decoration: none;
    width: max-content;
}
.btn + .btn {
    margin-left: 20px;
}
.atcb-button {
    border: none;
    cursor: pointer;
}
.atcb-list-item {
    display: flex;
    background: #fff;
    padding: 5px;
}
.atcb-dropdown {
    padding-top: 12px;
    position: absolute;
    z-index: 1000;
    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.16));
    /* top: 58px!important; */
}
.atcb-list-item .atcb-text {
    text-decoration: underline;
    cursor: pointer;
    color: var(--primary);
    transition: ease all 0.3s;
}
.atcb-list-item .atcb-text:hover {
    color: var(--primary);
}
.atcb-no-bg {
    height: 182px!important;
    position: absolute;
    transition: ease all 0.3s;
}
.alm-btn-wrap .alm-load-more-btn.done {
    display: none;
}
.btn.btn-primary {
    border: unset;
    font-family: "mr-eaves-xl-sans", sans-serif;
    font-weight: bold;
    background: var(--green)!important;
    text-transform: uppercase;
}
.btn.btn-primary:hover {
    background: var(--light-green)!important;
    color: #000!important;
}
.btn-ghost {
    background: transparent!important;
    border: 1px solid var(--primary);
    color: var(--primary);
}
.btn.btn-ghost:hover {
    background: var(--primary)!important;
}
.btn-ghost.btn-black {
    border-color: var(--primary)!important;
    color: var(--primary)!important;
}
.btn-ghost.btn-black:hover {
    border-color: var(--primary)!important;
}
.btn-white {
    background: #fff!important;
    color: var(--primary)!important;
}
.btn-white:hover {
    background: var(--primary)!important;
    color: #fff!important;
}
.atcb-button:hover,
.ajax-load-more-wrap.purple .alm-load-more-btn:hover,
section .alm-btn-wrap .alm-load-more-btn:hover,
.btn:hover {
    background: var(--btn-hover)!important;
    color: #fff!important;
}
.btn-pink {
    background: var(--secondary)!important;
}
.btn-pink:hover {
    background: var(--primary)!important;
}
.btn-light-green {
    background: var(--light-green)!important;
    color: #000!important;
}
.btn-light-green:hover {
    background: var(--green)!important;
}
.bg-green .btn-light-green:hover {
    background: var(--dark-green)!important;
}
.btn-green {
    background: var(--green)!important;
}
.btn-green:hover {
    background: var(--light-green)!important;
    color: #000!important
}
.atcb-checkmark {
    display: none;
}
section .alm-load-more-btn:hover:before,
.btn:hover:before {
    right: 35px;
}
.btn-brown {
    background: var(--primary)!important;
    transition: 0.3s all ease;
}
.btn-brown:hover {
    background: var(--primary)!important;
}
.job .btn-brown:hover,
.bg-blue .btn-brown:hover {
    background: #fff!important;
    color: var(--primary)!important;
}
.video-link {
    position: relative;
    overflow: hidden;
}
.video-link:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    background-image: url('../images/icons/play.svg');
    background-size: contain;
    background-position: center;
    transition: ease all 0.3s;
    filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.16));
}
.video-link:after {
    display: none;
}
.video-link:hover::before {
    transform: translate(-50%, -50%) scale(1.05);
}
.social-icon {
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s all ease;
    text-decoration: none;
}
.social-icon i {
    font-size: 26px;
    line-height: 26px;
    text-decoration: none;
    transition: 0.3s all ease;
}
.social-icon:hover {
    background: #fff;
    text-decoration: none;
}
.social-icon:hover i {
    color: var(--primary);
    text-decoration: none;
}
header .social-icon {
    margin-left: 20px;
    margin-right: 0;
}
h1, .h1 {
    font-size: 60px;
    line-height: 60px;
    /* font-weight: 600; */
}
.home-hero h1, .home-hero .h1 {
    font-size: 120px;
    line-height: 120px;
    font-family: 'mr-eaves-xl-sans', sans-serif;
}
h2, .h2 {
    font-size: 49px;
    font-family: 'mr-eaves-xl-sans', sans-serif;
    /* font-weight: 700; */
}
.seo-text h2,
.text-image-blocks h2,
.text-image-blocks .h2 {
    font-size: 38px;
    word-wrap: break-word;
}
.text-centered h2{
    font-size: 42px;
    line-height: 52px;
    color: var(--green);
}
h3, .h3 {
    font-size: 22px;
    line-height: 32px;
    font-weight: 700;
    font-family: 'mr-eaves-xl-sans', sans-serif;
}
h4, .h4 {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    font-family: 'mr-eaves-xl-sans', sans-serif;
}
.subtitle {
    text-transform: uppercase;
    font-family: 'mr-eaves-xl-sans', sans-serif;
    font-size: 22px;
    color: var(--primary);
    font-weight: 600;
}
.page-hero .subtitle,
.contactperson-form .subtitle,
.home-hero .subtitle {
    font-family: 'sofia-pro', sans-serif;
    color: #fff!important;
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 10px;
    font-weight: 200;
    letter-spacing: 2px;
}
.subtitle[itemscope] {
    font-size: 14px;
}
.regular {
    font-weight: 400;
}
.light {
    font-weight: 300;
}
.italic {
    font-style: italic;
}
.text-black {
    color: var(--primary);
}
a .read-more,
a.read-more,
.read-more {
    position: relative;
    font-size: 16px;
    line-height: 26px;
    width: fit-content;
    display: inline-flex;
    font-weight: 600;
    align-items: center;
    /* letter-spacing: 1.5px; */
    transition: ease all 0.3s;
}
a .read-more:after,
a.read-more:after,
.read-more:after {
    max-width: 1000px!important;
}
a:not(.h-logo):not(.btn):hover .read-more:after,
a.read-more:not(.h-logo):not(.btn):hover:after,
.read-more:not(.h-logo):not(.btn):hover:after {
    max-width: 0px!important;
}
.p.read-more {
    font-size: 14px;
    line-height: 28px;
    font-family: "Open Sans", sans-serif;
}
.text-white a .read-more:after,
.text-white a.read-more:after,
.text-white .read-more:after {
    background: #fff;
}
/* classes/variables*/
.rounded {
    border-radius: 8px!important;
    overflow: hidden;
}
/*Footer*/
.newsletter .h2 {
    font-size: 32px;
}
footer {
    background: #F2F2F2;
}
footer .h-logo img {
    object-fit: contain;
    object-position: left;
}
footer .footer-col {
    min-height: 260px;
}
footer .col-title {
    color: var(--primary);
    font-family: 'mr-eaves-xl-sans', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 2px;
    margin-bottom: 20px;
    text-transform: uppercase;
}
footer ul {
    padding-left: 0;
    list-style: none;
    margin-bottom: 0px
}
footer ul li {
    margin-bottom: 10px;
}
footer ul li:last-child {
    margin-bottom: 0px;
}
footer ul li,
footer ul a {
    color: var(--body-text);
    font-size: 14px;
    line-height: 20px;
    position: relative;
}
footer ul a:hover {
    color: var(--primary);
    text-decoration: none;
}
footer ul a:after {
    bottom: 0px;
}
footer ul.bottom-menu {
    margin-top: auto;
    position: relative;
}
footer ul.bottom-menu:before {
    content: "";
    width: calc(100% + 30px);
    height: 1px;
    background: #707070;
    position: absolute;
    top: 0;
    left: 0;
}
footer .footer-col:last-child ul.bottom-menu:before {
    width: calc(100% + 15px);
}
footer ul.bottom-menu li {
    margin-top: 10px;
    margin-bottom: 0px;
}
footer ul.bottom-menu li,
footer ul.bottom-menu a {
    font-size: 12px;
    line-height: 18px;
}
footer .today {
    font-weight: bold;
}
/*Home hero*/
.home-hero {
    /* height: 100vh; */
    min-height: 720px;
    display: flex;
    flex-direction: column;
    position: relative;
}
.home-hero .background-container {
    position: absolute;
    width: 100%;
    height: 100vh;
    min-height: 720px;
    z-index: 0;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.home-hero-slider .slide {
    height: 100vh;
    min-height: 720px;
    pointer-events: none;
}
.home-hero .text-container {
    height: 100vh;
    min-height: 720px;
    position: relative;
}
.home-hero .text-container .text-inner {
    pointer-events: all;
}
.home-hero.thank-you-404 .background-container:before,
.home-hero .background-container .slide:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000;
    z-index: 1;
    opacity: 0.55;
    transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
}
.home-hero .container,
.home-hero .container-fluid {
    display: flex;
    position: relative;
    z-index: 4;
}
.home-hero .text-col {
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
}
/* .home-hero .row {
    width: calc(100% + 30px);
} */
.home-hero .features {
    width: 100%;
    display: flex;  
    color: #fff;
    text-transform: uppercase;
    pointer-events: all;
}
.home-hero .features .row {
    width: inherit;
}
.home-hero .features .feature {
    position: relative;
    max-width: fit-content;
}
.home-hero .feature-slider .slide img {
    max-width: 70px;
}
.home-hero .features .owl-carousel .owl-dots {
    margin-bottom: 0px;
}
.feature .title {
    color: #fff;
    font-size: 15px;
    line-height: 21px;
    font-weight: 400;
}
.feature a:hover {
    color: var(--light-green);
}
.feature a:hover .title {
    color: var(--light-green);
    text-decoration: underline;
}
.text-white .feature .title {
    color: #fff;
}
.feature .read-more {
    font-size: 16px;
    line-height: 22px;
}

.home-hero .image-container {
    position: absolute;
    z-index: 1;
    height: 100vh;
    overflow: hidden;
    right: 0;
    top: 0;
    min-width: fit-content;
}
.home-hero .image-container img {
    height: calc(100% + 4px);
    margin-top: -2px;
    position: relative;
}
.home-hero .owl-nav {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    padding-left: 30px;
    padding-right: 30px;
    z-index: 999;
    display: flex;
    justify-content: space-between;
}
.owl-nav button {
    width: 55px;
    height: 55px;
    margin: 0 5px;
    position: relative;
    transition: ease all 0.3s;
}
.owl-nav button i {
    width: 55px;
    height: 55px;
    display: block;
    position: relative;
    background-image: url('../images/icons/owl-nav-2.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: ease all 0.3s;
}
.owl-nav button:hover i {
    background-image: url('../images/icons/owl-nav-2-hover.svg');
}
.home-hero .owl-nav button {
    margin: 0px;
}
.home-hero .owl-nav button i {
    background-image: url('../images/icons/owl-nav.svg');
}
.home-hero .owl-nav button:hover i {
    background-image: url('../images/icons/owl-nav-hover.svg');
}
.owl-nav button.disabled {
    opacity: 0.8;
}
.owl-nav button:hover {
    transform: scale(1.05);
}
.owl-prev i {
    transform: scaleX(-1);
}
.owl-prev i,
.owl-next i {
    pointer-events: none;
}
.home-hero .subtitle {
    color: var(--primary);
}
img {
    max-width: 100%;
}
/* Page hero */
.page-hero {
    position: relative;
    height: 47vh;
    min-height: 350px;
}
.page-hero h1:not(.h3) {
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.16));
    font-size: 80px;
    line-height: 80px;
}
.page-hero .background-container {
    position: absolute;
    height: 100%;
    width: 100%;
    right: 0;
    top: 0;
    background-size: cover;
    background-position: center;
}
.page-hero .background-container.bg-dark-green:before {
    display: none;
}
.page-hero > .container > .row {
    height: 100%;
}
.page-hero .text-container {
    position: relative;
    z-index: 1;
}
.page-hero .text-container p {
    margin-bottom: 0;
}
.underline {
    position: relative;
    padding-bottom: 20px;
}
.underline:after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--primary);
    position: absolute;
    bottom: 0;
    left: 0;
}
.underline h2,
.underline .h2 {
    color: var(--primary);
    font-size: 26px;
    line-height: 26px;
    padding-bottom: 0px;
    margin-bottom: 0px;
}
.text-white .underline h2,
.text-white.underline h2 {
    color: #fff;
}
.text-white .underline:after,
.text-white.underline:after {
    background: #fff;
}
/* single page hero*/

.single-item .page-hero .container:after {
    content: "";
    background-image:url('../images/icons/Pijl_Outline.svg');
    background-size: contain;
    background-position: bottom center;
    background-repeat: no-repeat;
    height: 258px;
    width: 300px;
    max-width: 100%;
    position: absolute;
    bottom: -7px;
    right: 15px;
}
.single-item .faq .container {
    padding: 0px!important;
}
.single-item .single-text + .faq {
    padding: 0px!important;
}
@media(max-width: 767.98px) {
    .single-item .faq .col-12 {
        padding: 0px;
    }
}
.subject-link:after {
    display: none;
}
/*Contact section*/
/* contactperson form*/
.contactperson-form .container {
    border-radius: 50px 50px 50px 0px;
}
.contactperson-form .image-wrapper {
    position: relative;
    height: fit-content;
}
.contactperson-form .image-wrapper:after {
    content: "";
    width: 68px;
    height: 68px;
    position: absolute;
    top: 10px;
    right: -34px;
    transform: translate(-50%, -50%);
    background-image: url('../images/icons/Pijl_Wit.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.team-item .name-wrapper,
.contactperson-form .name-wrapper {
    padding: 30px;
    border-radius: 30px 30px 30px 0;
    border: 1px solid #fff;
    position: absolute;
    bottom: 30px;
    left: 45px;
    max-width: calc(100% - 90px);
    filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.26));
}
.team-item .subtitle,
.contactperson-form .subtitle {
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0px;
    font-weight: 300;
}
.team-item .h3,
.contactperson-form .h3 {
    font-size: 28px;
}
.contactperson-form .image-wrapper > img {
    aspect-ratio: 445/570;
    object-fit: cover;
    border-radius: 30px 30px 30px 0;
}

form {
    width: 100%;
}
.wpcf7 p,
form p {
    margin-bottom: 0px!important;
}
.form-control,
.wpcf7 input[type="file"],
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
    background: #FFF;
    color: var(--body-text);
    width: 100%;
    padding: 11px 20px;
    border-radius: 50px;
    border: unset;
}
form label {
    width: 100%;
    font-size: 14px;
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 5px;
}
form .wpcf7-list-item label {
    font-weight: 400;
    letter-spacing: unset;
    margin-top: unset
}
.wpcf7 textarea {
    background: #FFF;
    height: 84px;
    border-radius: 20px;
}
.contactform .wpcf7 textarea {
    height: 226px;
    margin-bottom: 5px;
}
.wpcf7-acceptance label {
    display: flex;
    align-items: center;
}
.submit p {
    display: flex;
    margin-top: 20px;
}
.pum-content .submit p,
.single-form .submit p,
.newsletter .submit p {
    flex-direction: column-reverse;
}
.pum-close {
    display: flex;
    align-items: center;
}
.wpcf7-spinner {
    order: 0;
}
.wpcf7-submit {
    order: 1;
}
.wpcf7-list-item {
    margin: 0;
    display: flex;
    align-items: center;
    margin-top: 15px;
}
.wpcf7 input[type="checkbox"] {
    width: 30px;
    height: 30px;
    -webkit-appearance: none!important;
    margin-right: 10px;
    position: relative;
}
.wpcf7 input[type="checkbox"]:before {
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 30px;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.wpcf7 input[type="checkbox"]:checked:after {
    content: "\f00c";
    font-family: "Font Awesome 6 Pro";
    color: var(--primary);
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    font-size: 20px;
    z-index: 2;
}

.bg-primary .btn:hover {
    background: #fff!important;
    color: var(--primary)!important;
}
.wpcf7-not-valid-tip {
    /* color: #fff; */
    font-size: 12px;
    font-style: italic;
    margin-bottom: -10px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border: unset;
    margin-left: 0;
    padding-left: 0;
}
/*slider*/
.slider .image-container {
    aspect-ratio: 1;
    overflow: hidden;
}
.slider .image-container img {
    object-fit: cover;
}
.owl-carousel.no-swipe {
    pointer-events: none;
}
.slider .owl-carousel {
    margin-right: calc(-50vw - 600px);
    width: 100vw;
}
.slider .owl-carousel .owl-item:nth-child(4n) .image-container {
    border-top-left-radius: 365px;
    border-top-right-radius: 365px;
}
.slider .owl-carousel .owl-item:nth-child(4n+2) .image-container {
    border-bottom-left-radius: 365px;
    border-bottom-right-radius: 365px;
}
.slider .title {
    font-size: 22px;
    /* font-weight: 600; */
}
.slider .owl-carousel .owl-nav:not(.disabled) {
    display: flex;
    justify-content: flex-end;
    max-width: 1200px;
    width: 100%;
    position: absolute;
    top: calc(-55px - 3em);
}
.slider .owl-carousel .owl-nav .owl-prev {
    margin-right: 15px;
}
.slider .owl-carousel .owl-nav .owl-next,
.slider .owl-carousel .owl-nav .owl-prev {
    width: 55px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid var(--primary);
    border-radius: 50%;
    color: var(--primary);
    transition: ease all 0.3s;
}
.slider .owl-carousel .owl-nav button:hover {
    background: var(--primary);
    color: #fff;
}
/* Image slider */
.owl-carousel .owl-dots {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
}
.owl-carousel .owl-dots .owl-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--primary)!important;
    margin-left: 2.5px;
    margin-right: 2.5px;
    transition: 0.3s all ease-in-out;
}
.owl-carousel .owl-dots .owl-dot.active {
    background: var(--primary);
}
.owl-carousel .owl-dots .owl-dot:hover {
    background: var(--primary);
    border-color: var(--primary);
}
.bg-dark-green .owl-carousel .owl-dots .owl-dot, 
.bg-primary .owl-carousel .owl-dots .owl-dot {
    border-color: #fff!important;
}
.bg-dark-green .owl-carousel .owl-dots .owl-dot.active,
.bg-primary .owl-carousel .owl-dots .owl-dot:hover {
    background: #fff;
    border-color: #fff;
}
.image-slider .slide {
    overflow: hidden;
}
.image-slider img {
    transition: 0.3s ease-in-out all;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.image-slider img:hover {
    transform: scale(1.1);
}
/* 404 / Thank You*/
.thank-you-404 {
    min-height: 100vh;
    position: relative;
}
.thank-you-404 .background-container,
.thank-you-404 .home-hero-slider,
.thank-you-404 .home-hero-slider .owl-stage-outer,
.thank-you-404 .home-hero-slider .owl-stage,
.thank-you-404 .home-hero-slider .owl-item,
.thank-you-404 .home-hero-slider .slide  {
    height: 100%;
}
/* Text image blocks*/
.text-image-row .single-image-row {
    align-items: center;
}
.text-image-blocks:not(.wide-image) .image-wrapper {
    position: relative;
    /* height: 100%; */
}
.text-image-row:not(.small) {
    position: relative;
    min-height: 50vw;
}
.text-image-row .image-col {
    width: 50%;
    height: 100%;
    aspect-ratio: 1;
    /* background-color: #fff; */
    position: absolute;
    top: 0;
    right: 0;
}
.text-image-row .image-col > video,
.text-image-row .image-col > iframe {
    max-width: calc(100% - 100px);
    max-height: calc(100% - 100px);
    object-fit: contain;
}
@media(max-width: 767.98px) {
    .text-image-row .image-col {
        aspect-ratio: unset;
    }
    .text-image-row .image-col > video,
    .text-image-row .image-col > iframe {
        max-width: calc(100% - 30px);
        max-height: calc(100% - 30px);
        object-fit: contain;
    }
}
.single-video video {
    width: 100%;
    height: auto;
}
.single-video iframe,
.text-image-row .image-col > iframe {
    width: 100%;
    aspect-ratio: 560/315;
}
.single-video iframe.portrait,
.text-image-row .image-col > iframe.portrait {
    width: auto;
    height: 100%;
    aspect-ratio: 315/560;
}
.text-image-row .image-col.grid > .row {
    margin: 0px;
}
.text-image-row.row-reverse .image-col {
    left: 0;
    right: auto;
}
/* Featured posts */
section.featured-posts {
    position: relative;
    overflow: hidden;
}
section.featured-posts form {
    display: flex;
    justify-content: flex-end;
}
#filter {
    outline: none !important;
    background-color: #f0f0f0;
    border-radius: 100px;
    color: #0a2d2c;
    border: 0;
    padding: 15px 45px 15px 25px;
    appearance: none;
    background-image: url('../images/icons/arrow-down-sign.png');
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: 90% 56%;
}
.single-item.bg-white + .featured-posts.bg-1 {
    background: #fff!important;
}
.single-item.bg-white + .featured-posts .bg-white {
    background: var(--grey)!important;
}
.featured-post-slider .owl-stage-outer {
    margin-top: 75px;
}
.featured-post-slider .owl-stage {
    padding-left: 0px!important;
}
.featured-post-slider .owl-nav {
    position: absolute;
    top: -75px;
    right: 50px;
}
.featured-post-slider .slide a {
    color: var(--body-text);
    transition: ease all 0.3s;
}
.post-item a:after {
    display: none;
}
.post-item {
    transition: ease all 0.3s;
    height: 100%;
    width: 100%;
}
.post-item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}
.post-item:hover {
    filter: drop-shadow(1px 2px 4px rgba(0,0,0,0.16));
}
.post-item b {
    font-size: 16px;
}
.post-item .header-image {
    aspect-ratio: 1.8;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.post-item .header-image.no-image {
    aspect-ratio: 0;
}
.post-item .subject {
    position: absolute;
    top: -22px;
    left: 40px;
    background: var(--blue);
    color: #fff;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    width: fit-content;
    padding: 15px;
    border-radius: 30px;
}
.post-item .body {
    border-bottom-right-radius: 20px;
    display: flex;
    flex-grow: 1;
}
.post-item .body .text {
    display: flex;
    flex-direction: column;
}
/* Three col */
.three-col h3.h4 {
    font-weight: 700;
}
/* team */
.team-item,
.team-item .img-col {
    position: relative;
    border-radius: 40px 0px 40px 0px;
}
.team-item .img-col {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    margin-top: -1.5rem;
}
.team-item ul,
.team-slider .owl-carousel ul {
    padding-left: 0;
    list-style: none;
    position: relative;
}
.team-item ul:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--primary);
    position: absolute;
    top: calc(-0.75rem - 0.5px);
    left: 0;
}
.team-item ul li,
.team-slider .owl-carousel ul li {
    display: flex;
    width: 100%;
    margin-bottom: 15px;
}
.team-item ul li:last-child,
.team-slider .owl-carousel ul li:last-child {
    margin-bottom: 0px;
}
.team-item ul li a,
.team-slider .owl-carousel ul li a {
    color: var(--primary);
    font-size: 14px;
    line-height: 20px;
    position: relative;
}
.team-item .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: ease all 0.3s;
}
.team-item:hover .overlay {
    opacity: 1;
    pointer-events: initial;
}
/* cta */
.cta {
    position: relative;
}
.cta .background-container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.cta .text-container {
    /* background: rgba(255,255,255,0.81); */
    margin-bottom: 2rem;
}
.cta + section.text-image-blocks div.bg-1:first-child,
.cta + section.bg-1 {
    margin-top: -3rem;
    padding-top: 8rem!important;
}
.cta.small {
    margin-top: 6rem;
    margin-bottom: 6rem;
}
.cta.bottom-right {
    margin-bottom: 60px;
}
.cta.small.bottom-right {
    margin-bottom: calc(6rem + 60px);
}
.cta.bottom-right .text-container {
    margin-top: calc(6rem + 60px)!important;
    margin-bottom: calc(-60px - 3rem);
}
/* logo-slider */
.logo-slider .slide a:after {
    display: none!important;
}
.logo-slider .logo {
    transition: ease all 0.3s;
}
.logo-slider .slide:hover .logo {
    transform: scale(1.05);
}
.logo-slider.bg-white .slide {
    filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.16));
    margin: 5px;
}
/* single item*/
.single-item .page-hero {
    min-height: 420px;
}
.single-item .page-hero .container {
    position: relative;
    z-index: 2;
}
.single-item .page-hero h1 {
    font-size: 40px;
    line-height: 1em;
    font-weight: 600;
}
.single-item .subject {
    background: var(--blue);
    color: #fff;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 21px;
    font-family: 'sofia-pro', sans-serif;
    font-weight: 600;
    width: fit-content;
    padding: 10px 15px;
    border-radius: 40px;
}
/* Single news */

i.chevron-right-grey {
    width: 5px;
    height: 10px;
    background-image: url('../images/icons/chevron-right-grey.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
}
.single-text.introduction .text p {
    font-size: 18px;
    line-height: 30px;
    font-weight: 700;
}
.single-text h2 {
    font-size: 28px;
    line-height: 36px;
}
.text ul {
    padding-left: 15px;
}
.text ul li::marker {
    color: var(--primary);
}
.text ul li {
    margin-bottom: 15px;
}
.article-end .container,
.social-sharing {
    position: relative;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
}
.social-sharing:before,
.social-sharing:after {
    content: "";
    height: 1px;
    width: 150px;
    background: var(--primary);
    position: absolute;
    top: calc(50% + 1.5rem - 0.5px);
    transform: translateY(-50%);
}
.social-sharing:before {
    left: -30px;
}
.social-sharing:after {
    right: -30px;
}
.article-end a {
    margin-top: 5px;
    display: inline-block;
}
.article-end a:hover {
    color: #fff!important;
}
.article-end a:after {
    background: #fff!important;
    max-width: 500px!important;
}
.article-end a:not(.h-logo):not(.btn):hover:after {
    max-width: 0px!important;
}
.single-form {
    border-radius: 20px 20px 20px 0;
}
.avatar {
    object-fit: contain;
    border-radius: 50%;
    aspect-ratio: 1;
    height: auto;
}
.page-hero .avatar {
    border: 2px solid #fff;
    object-fit: contain;
    border-radius: 50%;
    aspect-ratio: 1;
    height: auto;
}
/* faq */
.faq .card,
.faq .card-header,
.faq .card-body {
    background: transparent;
    border-radius: 0;
}
.faq .card,
.faq .card-body {
    border: none;
}
.faq .card {
    margin-bottom: 30px;
}
.faq .card-header {
    margin-bottom: 0!important;
    padding: 0;
    background: var(--green);
    border: none;
    position: relative;
    border-radius: 20px 20px 20px 0px!important;
}
.faq .card-header a {
    display: block;
    color: #fff;
    padding: 25px 55px 25px 25px;
    width: 100%;
    height: 100%;
    position: relative;
}
.faq .card-header a:not(.h-logo):not(.btn):not(.social):after {
    content: "";
    width: 25px;
    height: 12px;
    max-width: unset;
    position: absolute;
    left: auto;
    right: 15px;
    top: 34px;
    bottom: auto;
    background-color: transparent;
    background-image: url("../images/icons/Pijltje_uitklap_wit.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.faq .card-header a[aria-expanded=true]:not(.h-logo):not(.btn):not(.social):after {
    transform: rotate(-180deg);
}
.faq h3 {
    font-size: 16px;
    line-height: 30px;
}
/* cta-banner */
.cta-banner {
    position: relative;
}
.cta-banner:before {
    content: "";
    top: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--dark-green);
    opacity: 0.8;
}
.cta-banner .container {
    position: relative;
    z-index: 2;
}
/* cta-person */
.cta-person .title {
    font-size: 42px;
    line-height: 42px;
}
.cta-person .cta-block div {
    position: relative;
}
.cta-person img {
    position: absolute;
    bottom: -3rem;
} 
/* Branches overview */
.branches-overview .post-item .header-image {
    aspect-ratio: 1.68;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.branches-overview .post-item:before {
    content: "";
    width: 34px;
    height: 25px;
    position: absolute;
    right: 30px;
    bottom: 30px;
    background-image: url('../images/icons/Pijltje_blauw.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: ease all 0.3s;
}
.branches-overview .post-item:hover:before {
    right: 25px;
}
.branches-overview .alm-reveal > div > a:not(.btn),
.branches-overview .row > div > a:not(.btn) {
    color: var(--body-text);
}
.cta-block {
    background-size: cover;
    background-position: center;
}
.branches-overview .cta-block {
    position: relative;
}
.branches-overview .cta-block:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--primary);
    opacity: 0.9;
    top: 0;
    left: 0;
    z-index: 0;
}
.branches-overview .cta-block .text {
    position: relative;
    z-index: 1;
}

.alm-listing .alm-reveal {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
/* job overview */
.job {
    border: unset;
    border-radius: 8px!important;
    margin-bottom: 30px;
}
.job-overview .job .subtitle {
    font-weight: bold;
}
.job .card-header {
    background: var(--primary);
    padding: 0px;
}
.job .card-header a {
    display: flex;
    width: 100%;
    height: 100%;
}
.job .card-header a > div:before {
    content: "";
    width: 30px;
    height: 18px;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../images/icons/Pijltje_uitklap_wit.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: ease all 0.3s;
}
.job .card-header a[aria-expanded=true] > div:before {
    transform: translateY(-50%) rotate(-180deg);
}
.job .card-body {
    background: var(--primary);
    padding: 0px;
}
.job .card-body *,
.job .card-header * {
    color: #fff;
}
.job .h4 {
    font-weight: 700;
}
.job p {
    margin-bottom: 0;
}
.job .line {
    height: 1px;
    background: #fff;
}
.job .form-wrapper p {
    display: flex;
    flex-direction: column;
}
.file-upload {
    position: relative;
    width: 100%;
    height: 52px;
    z-index: 1;
    padding: 11px 30px;
    color: var(--body-text)!important;
}
.job .form-wrapper input:not(.wpcf7-submit) {
    color: var(--body-text)!important;
}
.file-upload:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: #F5F5F5;
}
/* single image slider */
.single-image-slider .slide {
    /* aspect-ratio: 1.94; */
    aspect-ratio: unset;
}
.single-image-slider .slide img {
    width: 100%;
    height: auto;
    object-fit: contain;
}
.single-image-slider.owl-carousel .owl-dots {
    margin-bottom: 0px;
}
/* contact blocks */
.contact-block {
    overflow: unset;
    position: relative;
    width: 100%;
    aspect-ratio: 1.057;
    transition: ease all 0.3s;
}
.contact-block .icon-wrapper {
    margin-bottom: 15px;
}
.contact-block li,
.contact-blocks a:not(.social) {
    max-width: fit-content;
    font-size: 16px;
    line-height: 32px;
}
.contact-block:hover {
    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.16));
}
.contact-blocks .text {
    min-height: 48px;
}
/* themas overview */
.themas-overview .icon-wrapper {
    width: 120px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: -60px;
    position: relative;
    z-index: 2;
    background-image: url("../images/icons/icon-shield.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.theme-item .theme-body {
    padding-top: 70px;
}
/* packages */
.package {
    width: 100%;
}
.package .package-title {
    background-color: var(--dark-green);
    padding: 20px;
}
.package .package-title .h3 {
    color: #fff;
    margin-bottom: 0;
}
.package.popular .package-title {
    background-color: var(--primary);
}
.package.popular .package-title .h3 {
    color: #fff;
}
.package .package-body {
    background: #F2F2F2;
    padding: 30px;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.bg-1 .package .package-body {
    background: #fff;
}
.package .price {
    text-align: center;
    height: 45px;
    border-bottom: 1px solid var(--primary);
}
.package .price b {
    font-size: 26px;
    margin-left: 5px;
    margin-right: 5px;
    font-family: 'Bakbak One', sans-serif;
}
.package .features .feature {
    display: flex;
    align-items: center;
    min-height: 60px;
}
.package .features .feature .text {
    height: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid rgba(20,34,20,0.2);
}
.package .features .feature .text p {
    margin-bottom: 0;
}
.package .features .feature:last-child .text {
    border-bottom: unset;
}
.package .features .feature .icon {
    margin-right: 30px;
}
/* item-grid */
.packages,
.item-grid {
    position: relative;
    overflow: hidden;
}
.packages.bg-1:before,
.item-grid:before {
    content: "";
    background-image: url('../images/icons/Pijl_Groen.svg');
    background-size: contain;
    background-position: top right;
    background-repeat: no-repeat;
    position: absolute;
    aspect-ratio: 630/600;
    height: 600px;
    max-height: 100%;
    top: 0;
    right: 0;
}
.item-grid .item {
    background: var(--light-green);
    padding: 40px;
    border-radius: 30px 30px 30px 0px;
    height: 100%;
}
@keyframes wobble {
    0%, 100% {
        -webkit-transform: translateX(0%) scaleX(-1);
        transform: translateX(0%) scaleX(-1);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }

    15% {
        -webkit-transform: translateX(-4px) rotate(-10deg) scaleX(-1);
        transform: translateX(-4px) rotate(-10deg) scaleX(-1);
    }

    30% {
        -webkit-transform: translateX(calc(32px / 2)) rotate(10deg) scaleX(-1);
        transform: translateX(calc(32px / 2)) rotate(10deg) scaleX(-1);
    }

    45% {
        -webkit-transform: translateX(calc(-4px / 2)) rotate(calc(-10deg / 1.8)) scaleX(-1);
        transform: translateX(calc(-4px / 2)) rotate(calc(-10deg / 1.8)) scaleX(-1);
    }

    60% {
        -webkit-transform: translateX(calc(32px / 3.3)) rotate(calc(10deg / 3)) scaleX(-1);
        transform: translateX(calc(32px / 3.3)) rotate(calc(10deg / 3)) scaleX(-1);
    }

    75% {
        -webkit-transform: translateX(calc(-4px / 5.5)) rotate(calc(-10deg / 5)) scaleX(-1);
        transform: translateX(calc(-4px / 5.5)) rotate(calc(-10deg / 5)) scaleX(-1);
    }
}
.cky-btn  {
    border-radius: 50px!important;
}
.full-image a:after {
    display: none;
}
.full-image video {
    max-width: 100%;
}
.full-image iframe {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 560/315;
}
.full-image .col-md-4 iframe {
    aspect-ratio: 315/560;
}
@media(min-width: 1200px) {
    .text-image-blocks:first-of-type > div:first-child {
        padding-top: 150px!important;
    }
}
.grecaptcha-badge {
    display: none!important;
}