:root {
    --accent-groen: #A3B18A;   /* Een levendiger, dieper groen voor contrast */
    --fris-groen: #588157;    /* Luchtig saliegroen voor grote vlakken */
    --licht-groen: #DAD7CD;   /* Zeer lichte, frisse basis (in plaats van spierwit) */
    --zwart: #292929;          /* Behoudt de stevige basis voor tekst */
}

/* ======== STANDAARD STYLING ======== */

html {
    scroll-behavior: smooth;
}

.container {
    max-width: 1400px;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

a {
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    text-decoration: none;
}

p {
    color: #221E1F;
    font-size: 16px;
    line-height: 30px;
    font-family: "Montserrat", sans-serif;
}

input:focus,
textarea {
    outline: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "niveau-grotesk", sans-serif;
    font-weight: 800;
    letter-spacing: 1px;
}

/* ======== HEADER ======== */

.menu-menu-2 a.active {
    color: red!important;
    font-weight: 800;
}

.menu-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-wrap h1 {
    font-size: 27px;
    color: #fff;
}

.menu-top {
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    padding-top: 40px;
    padding-bottom: 30px;
    background-color: var(--fris-groen);
    position: sticky;
    top: 0;
    z-index: 99;
}

.scroll-menu {
    padding-top: 25px;
    padding-bottom: 20px;
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    background: #292929fa;
}

.scroll-menu .menu a:hover {
    color: var(--accent-groen) !important;
}

.scroll-menu li.interesse a {
    color: var(--zwart);
}

.scroll-menu li.interesse a:hover {
    font-weight: 700;
    background-color: #FFB347;
    color: var(--donker) !important;
    border-radius: 50px;
    color: #fff;
    padding: 8px 20px 5px;
    letter-spacing: 0;
}

li.interesse a {
    font-weight: 700;
    background-color: #FFB347;
    color: var(--donker) !important;
    border-radius: 50px;
    color: #fff;
    padding: 8px 20px;
    letter-spacing: 0;
}

.menu-wrap h1 {
    font-size: 32px;
    color: #fff;
    font-family: "niveau-grotesk-small-caps", sans-serif;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    text-transform: uppercase;
}

.menu a {
    color: #fff;
    font-size: 20px;
    margin-left: 15px;
    font-weight: 600;
    text-transform: uppercase;
    font-family: "niveau-grotesk-small-caps", sans-serif;
}

.menu a:hover {
    color: var(--zwart);
}

.menu ul {
    list-style: none;
    margin-left: -20px;
    display: flex;
    margin-bottom: 0;
}

.slider::after {
    height: 630px;
    background-color: var(--fris-groen);
    content: '';
    width: 100%;
    display: block;
    position: absolute;
    top: 100px;
    left: 0;
    z-index: -1;
}

.slider-top {
    position: relative;
    /* Important to position the pseudo-element */
}

.slider-bottom {
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    border-radius: 20px;
}

.slider-top::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
    pointer-events: none;
    opacity: 0;
    z-index: 2;
    border-bottom-right-radius: 20px !important;
    border-bottom-left-radius: 20px !important;
}

.owl-carousel .owl-item img {
    border-radius: 20px;
    aspect-ratio: 16 / 8;
    object-fit: cover;
}

.owl-carousel.slider-top.owl-loaded.owl-drag {
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    border-radius: 20px;
    margin-top: 20px;
}

/* ======== CONTENT ======== */

.innerplanning {
    -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 0 15px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, .1);
    text-align: center;
    padding: 40px 30px;
}



.innerplanning p {
    font-size: 18px;
}

.innerpadding {
    padding-right: 50px;
    font-family: "Montserrat", sans-serif;
}

.innerplanning strong {
    color: #8d4533;
}


.innerpadding ul {
    margin-left: -18px;
    list-style: square;
}

.innerpadding p,
.innerplanning p {

}

.innerpadding h2 {
    margin-bottom: 20px;
    color: var(--fris-groen);
    font-weight: 800;
    font-size: 40px;
}

.kaart {
    border-radius: 20px;
}

.wit-content {
    padding-top: 40px;
    padding-bottom: 100px;
}

.rood-content {
    padding-top: 80px;
    padding-bottom: 110px;
    background: #73A96B;
    color: #fff;
}

.rood-content p {
    color: #fff;
}

.rood-content h2 {
    margin-bottom: 40px;
    font-size: 45px;
    font-weight: 800;
}

.planning {
    padding-top: 70px;
    padding-bottom: 70px;
}

.planning p {
    font-size: 18px;
}

.planning h3 {
    font-size: 33px;
    margin-bottom: 20px;
    font-weight: 800;
    text-align: center;
}

/* ======== OP DE HOOGTE   ======== */

.opdehoogte {
    padding-top: 80px;
    padding-bottom: 50px;
    background-color: var(--fris-groen);
    color: #fff;
    margin-top: -2px;
}

.opdehoogte p {
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
}

.opdehoogte h4 {
    font-size: 35px;
    margin-bottom: 20px;
    font-weight: 800;
    text-align: center;
}

.innerpadding a {
    color: #000;
    text-decoration: underline;
}

/* ======== FOOTER ======== */

.footer {
    padding-top: 90px;
    padding-bottom: 90px;
}

.footer a {
    color: #221E1F;
    text-decoration: underline;
}

.footer p {
    font-size: 14px;
}

img.logo-clercq {
    width: 170px;
}

img.logo-valk {
    width: 200px;
}

img.logo-poelmans-reesink {
    width: 260px;
}

.bloemendal-logo {
    width: 230px;
}



img.logo-im {
    width: 210px;
    margin-top: -10px;
}

.footer h5 {
    font-weight: 800;
    margin-bottom: 30px;
    font-size: 20px;
    border-bottom: 1px solid;
    padding-bottom: 25px;
}

/* ======== OVERLAY MENU ======== */


.menu-btn {
    position: fixed;
    top: 30px;
    right: 20px;
    width: 50px;
    height: 50px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 101;
    display: none;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.menu-overlay a {
    color: #fff;
}

.menu-btn div {
    width: 40px;
    height: 4px;
    background: #fff;
    margin: 4px 0;
    border-radius: 50px;
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.2s ease, width 0.2s ease;
}

.overlay-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.75);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease-in-out;
    z-index: 100;
}

.overlay-menu.show {
    opacity: 1;
    visibility: visible;
}

.menu-overlay {
    position: fixed;
    top: 0;
    right: -500px;
    width: 350px;
    height: 100vh;
    background: #73A96B;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    transition: right 0.8s cubic-bezier(0.65, 0, 0.35, 1);
    z-index: 102;
    overflow-y: auto;
    padding-left: 40px;
    padding-top: 50px;
    padding-right: 40px;
}

.menu-overlay ul {
    list-style: none;
    padding: 0;
    text-align: center;
}

.menu-overlay li {
    margin: 30px 0;
    font-size: 25px;
    cursor: pointer;
    transition: 0.3s;
   font-family: "niveau-grotesk", sans-serif;
    color: #fff;
    font-size: 25px;
    text-transform: uppercase;
    margin-left: 0;
    text-align: left;
}

.menu-overlay li:hover {
    color: gray;
}

.menu-overlay.open {
    right: 0;
}

.menu-btn.open div:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
}

.menu-btn.open div:nth-child(2) {
    opacity: 0;
    width: 0;
}

.menu-btn.open div:nth-child(3) {
    transform: translateY(-20px) rotate(-45deg);
}

.menu-btn.open {
    transform: scale(1);
    z-index: 999;
}
button.menu-btn.scroll-menu-btn {
    top: 20px;
}

.scroll-menu h1 {
    font-size: 30px;
}

/* ======== SCROLL MARGIN======== */

#hetplan,
#interesse,
#planning,
#woningen {
    scroll-margin-top: 110px;
}

/* ======== CONTACT FORM ======== */

.wpcf7-form input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
select,
textarea {
    width: 100% !important;
    padding: 8px;
    margin-top: 5px;
    background: #fff;
    border: 1px solid #dedede;
}

.wpcf7-form label {
    width: 100% !important;
    color: #221e1f;
    font-weight: 900;
    font-size: 17px;
   font-family: "niveau-grotesk", sans-serif;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    background: var( --accent-groen);
    padding: 15px 35px 10px;
    color: #fff !important;
    border-radius: 30px;
    font-weight: 800;
    border: none;
    font-size: 18px !important;
    text-transform: uppercase;
    margin-top: 20px;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    height: auto !important;
   font-family: "niveau-grotesk", sans-serif;
    letter-spacing: 1px;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
    background: var(--zwart);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #ffb900 !important;
    background: #ffb900 !important;
    color: #000;
    font-size: 17px;
    padding: 15px;
    text-align: center;
    font-weight: 600;
}

div#wpcf7-f18-o1 {
    margin-top: 20px;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    background: #46b450;
    text-align: center;
    padding: 15px;
    font-size: 17px;
    font-weight: 600;
}

div#formVerstuurdModal .modal-content {
    padding: 30px !important;
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2)!important;
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2)!important;
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2)!important;
    border: none!important;
}

h5#formVerstuurdModalLabel {
    font-size: 25px;
    margin-bottom: 0;
    margin-top: 0;
    font-weight: 600;
}

div#formVerstuurdModal .modal-body {
    font-size: 18px;
}

div#formVerstuurdModal .modal-content {
    padding: 30px !important;
}

div#formVerstuurdModal {
    text-align: center;
}

img.pijl {
    width: 50px;
    position: relative;
    bottom: 30px;
    z-index: 20;
}

.slider {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#rij-fotos .owl-item img {
    border-radius: 0;
    aspect-ratio: auto;
}

.innerpadding strong {
    margin-bottom: 10px;
    display: block;
}

div#woningen h3 {
    font-size: 25px;
    margin-top: 15px;
    margin-bottom: 20px;
    font-weight: 900;
    letter-spacing: 0;
    color: #588157;
}

.rood-content .slider-bottom {
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0)!important;
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0)!important;
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0);
}

.rood-content .owl-carousel .owl-item img {
    border-top-left-radius: 20px;
    aspect-ratio: auto;
    object-fit: cover;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.rood-content .blok-wit {
    background: #fff;
    color: var(--zwart);
    padding: 30px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    flex-grow: 1;
}

.blok-wit p {
     color: var(--zwart);
}

div#hetplan {
    padding-top: 30px;
    padding-bottom: 80px;
}

/* ======== DOWNLOADS ======== */

div#downloads {
    padding-bottom: 50px;
}

.download-wrap {
    padding-top: 70px;
    padding-bottom: 40px;
    background: var(--accent-groen);
    color: #000;
}

.blok-download-wit {
    background: #fff;
    padding: 40px;
    margin-bottom: 40px;
    border-radius: 15px;
    -webkit-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
    box-shadow: 0 10px 30px 0 rgba(0, 0, 0, .2);
}

strong.downloads-tussentitel {
    margin-bottom: 40px;
    display: block;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 22px;
    color: #000;
    letter-spacing: 1px;
    border-bottom: 1px dashed #5b5b5b;
    padding-bottom: 20px;
    font-family: "niveau-grotesk", sans-serif;
    text-align: left;
}

a.button-download {
    font-family: "niveau-grotesk", sans-serif;
    padding: 15px 25px 12px;
    font-weight: 500;
    font-size: 18px;
    margin-top: 15px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 10px;
    background-color: #2a2929 !important;
    color: #fff;
    border: solid 2px #2a2929 !important;
    border-radius: 15px;
    color: #fff;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

a.button-download:hover {
    background-color: #fff !important;
    color: #2a2929;
}

a.button-download:hover > i.fa-solid {
    color: #2a2929;
}

i.fa-solid {
    margin-left: 15px;
    color: #ffffff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

div#downloads h2 {
    color: #2a2929;
    font-size: 40px;
}

.slider-vervolg img {
    aspect-ratio: 16 / 7;
    object-fit: cover;
    object-position: center;
}

.slider-vervolg::after {
    height: 400px;
    background-color: var(--fris-groen);
    content: '';
    width: 100%;
    display: block;
    position: absolute;
    top: 100px;
    left: 0;
    z-index: -1;
}

.row-downloads {
    display: flex;
    flex-wrap: wrap;
}

.row-downloads .col-lg-6 {
    display: flex;
}

.row-downloads .col-lg-6 .blok-download-wit {
    flex: 1;
    display: flex;
    flex-direction: column;
    text-align: center;
}

.slider-vervolg .pijl {
    aspect-ratio: 10 / 10 !important;
    margin-bottom: -20px;
}

.slider-caption {
    background: #8d4535;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    padding: 20px 0;
    position: relative;
    z-index: 10;
    top: 70px;
    margin-top: -65px;
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
    font-family: "niveau-grotesk", sans-serif;
    font-weight: 700;
    display: flex;
    padding-left: 40px;
    padding-right: 40px;
    flex-direction: row;
    align-items: flex-start;
    border-radius: 20px;
    width: 700px;
    justify-content: space-between;
}

.startverkoop {
    font-size: 33px;
}

.locatie-datum {
    text-align: left;
    font-weight: 100;
    font-size: 20px;
}

.fluid-container.inschrijven {
    padding-top: 10px;
    padding-bottom: 50px;
    background-color: var(--fris-groen);
    color: #fff;
}

input#q77035, input#q77034, input#q77034_confirmation, input#q77424, select#q77425, input#q77426, select#q77439, input#q77427,input#q77428, input#q77428, input#q77429, input#q77430, input#q77431,  select#q77436,
select#q77437,select#q77455_118563,select#q77455_118564,select#q77455_118565,select#q77455_118566,select#q77455_118567,select#q77455_118568,input#q77432, input#q77433,input#q77433_confirmation,input#q77434, 
input#q77435, input#q77421, input#q77454{
    background: #dadada;
    width: 100% !important;
    background-color: #f1f1f1;
    border: 1px solid #cdcdcd;
    height: 45px;
    margin-top: 5px;
    padding: 10px;
    color: #000;
    font-size: 17px;
    border-radius: 10px;
        font-family: "niveau-grotesk", sans-serif;
}

.extra-description {
    color: #000;
    font-family: "niveau-grotesk", sans-serif;
    font-size: 18px;
    margin-bottom: 30px;
}

strong.spelregels {
    font-size: 20px;
}

.extra-description br {
    display: none!important;
}

div#tq77422 .question {
    font-size: 28px;
    margin-bottom: 20px;
    color: var(--fris-groen);
    font-weight: 800;
    font-size: 30px;
}

button.btn-style {
    border: none;
    font-size: 18px !important;
    display: block;
    margin-top: 50px;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    margin-bottom: 50px;
    background: #FFB347;
    color: var(--zwart);
    font-family: "gotham", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 100px !important;
}

button.btn-style:hover{
    background: var(--zwart);
    color:#fff;
}

div#formname {
    display: none;
}

label.question {
    font-weight: 600;
    font-size: 17px;
    margin-top: 27px;
    color: var(--zwart);
}

input[type="checkbox"] {
    position: relative;
    top: 1px;
    width: 20px;
    height: 15px;
}

.contact-formulier {
    background: #fff;
    padding: 30px 40px 10px 40px;
    margin-bottom: 50px;
    border-radius: 20px;
    -webkit-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .2);
    -moz-box-shadow: 0 0 10px 1px rgba(0, 0, 0, .2);
    box-shadow: 0 0 60px 0px rgb(0 0 0 / 12%);
    margin-top: 50px;
}

.contact-formulier label {
    display: inline-block;
    color: var(--zwart);
    line-height: 30px;
    font-family: "niveau-grotesk", sans-serif;
    font-size: 19px;
}

img.logo-nikkels {
    width: 190px;
}

img.logo-leclercq {
    width: 170px;
    margin-top: 0;
}

#woningen .row > .col-lg-6 {
    display: flex;
    flex-direction: column;
}

img.logo {
    width: 200px;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.scroll-menu .logo {
    width: 150px;
}

textarea#q77053 {
    width: 100% !important;
    padding: 8px;
    margin-top: 5px;
    background: #f1f1f1;
    border: 1px solid #dedede;
}

.brochure-wrapper {
    background: #A3B18A;
}

h2.brochure-titel {
    font-size: 40px;
    margin-bottom: 40px;
}

.informatie {
    padding-right: 0 !important;
}

.informatie p {
    font-size: 19px;
    text-align: center;
}

.innermakelaar {
    padding: 30px;
    margin-top: 40px;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 50px 1px rgba(0, 0, 0, .1);
    -moz-box-shadow: 0 0 50px 1px rgba(0, 0, 0, .1);
    box-shadow: 0 0 50px 1px rgba(0, 0, 0, .1);
}