@font-face {
  font-family: Lato;
  src: url(lato-regular.ttf) format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Lato;
  src: url(lato-bold.ttf) format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
:root {
  --green: #79b51d;
  --ink: #3b3b3b;
  --sand: #f1f0eb;
  --width: 1024px;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Lato, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.6;
}
a {
  color: #567f15;
  text-underline-offset: 0.15em;
}
a:hover {
  color: #354e0d;
}
button,
input,
textarea,
select {
  font: inherit;
}
button {
  cursor: pointer;
}
img {
  max-width: 100%;
  height: auto;
}
h1,
h2,
h3,
h4 {
  font-weight: 400;
  line-height: 1.2;
}
h1 {
  font-size: 2rem;
}
h2 {
  font-size: 1.5rem;
}
.wrap {
  width: min(var(--width), calc(100% - 40px));
  margin-inline: auto;
}
.screen-reader-text,
.skip-link:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  position: fixed;
  inset: 10px auto auto 10px;
  background: white;
  padding: 15px;
  z-index: 9999;
}
:focus-visible {
  outline: 3px solid #4e7411;
  outline-offset: 4px;
}
.header-top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 32px;
  padding: 12px 0;
}
.site-branding img {
  display: block;
  width: 260px;
  height: auto;
}
.custom-logo-link img {
  max-height: 100px;
  width: auto;
}
.header-contact {
  font-size: 15px;
  line-height: 1.4;
}
.header-contact a:last-child {
  color: inherit;
  text-decoration: none;
}
.searchform {
  display: flex;
  border: 1px solid #ccc;
  max-width: 320px;
  align-items: center;
  background: #fff;
}
.searchform label {
  flex: 1;
  min-width: 0;
}
.searchform input {
  width: 100%;
  border: 0;
  padding: 7px 10px;
  font-size: 14px;
  background: transparent;
}
.searchform button {
  background: none;
  border: 0;
  font-size: 27px;
  line-height: 1;
  padding: 3px 9px;
  color: #555;
}
.nav-shell {
  background: url(bg-nav.png) left top / auto 48px repeat-x;
  min-height: 48px;
  position: relative;
  z-index: 10;
}
.nav-shell::before,
.nav-shell::after {
  content: "";
  position: absolute;
  top: 0;
  height: 48px;
  background-image: url(icons-s6ecb175599.png);
  background-repeat: no-repeat;
  pointer-events: none;
}
.nav-shell::before {
  left: -52px;
  width: 52px;
  background-position: 0 -245px;
}
.nav-shell::after {
  right: -28px;
  width: 28px;
  background-position: 0 -197px;
}
@media (max-width: 1200px) {
  .nav-shell::before,
  .nav-shell::after {
    display: none;
  }
}
.mainnav .menu {
  display: flex;
  list-style: none;
  padding: 0 20px;
  margin: 0;
  gap: 0;
}
.mainnav li {
  position: relative;
  list-style: none;
}
.mainnav a {
  display: block;
  padding: 10px 12px;
  color: var(--ink);
  font-size: 16px;
  text-decoration: none;
}
.mainnav a:hover,
.mainnav .current-menu-item > a {
  background: #fff9;
  color: #567f15;
}
.mainnav .sub-menu,
.mainnav .children {
  display: none;
  position: absolute;
  left: 0;
  top: 100%;
  background: #f1f0eb;
  box-shadow: 0 6px 12px #0002;
  min-width: 235px;
  padding: 5px 0;
  margin: 0;
}
.mainnav li:hover > .sub-menu,
.mainnav li:focus-within > .sub-menu,
.mainnav li:hover > .children,
.mainnav li:focus-within > .children {
  display: block;
}
.mainnav .sub-menu a {
  padding: 10px 16px;
}
.mainnav .sub-menu .sub-menu {
  left: 100%;
  top: 0;
}
.menu-toggle {
  display: none;
}
.hero {
  position: relative;
  overflow: hidden;
  background: #ddd;
}
.hero-image {
  display: block;
  width: 100%;
  height: clamp(200px, 27vw, 350px);
  object-fit: cover;
}
.hero--home .hero-image {
  height: clamp(400px, 40vw, 600px);
}
.hero-services {
  position: absolute;
  inset: 0;
  pointer-events: none;
  display: grid;
  grid-template-columns: 180px 180px;
  grid-template-rows: 180px 180px;
  gap: 10px;
  justify-content: end;
  align-content: center;
}
.service-badge {
  background: var(--green) url(bg-service.png) center/100% 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 170px;
  height: 170px;
  border-radius: 45% 55% 50% 40%;
  color: #fff;
  font-size: 13px;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  pointer-events: auto;
  box-shadow: 0 3px 0 #fffb;
}
.service-badge:hover {
  color: #fff;
  filter: brightness(1.06);
}
.service-badge--agrarisch {
  grid-column: 2;
  transform: translateX(-80px);
}
.service-badge--grondverzet {
  grid-row: 2;
  grid-column: 1;
}
.service-badge--cultuurtechnisch {
  grid-row: 2;
  grid-column: 2;
}
.service-icon {
  display: block;
  width: 90px;
  height: 90px;
  background-image: url(icons-s6ecb175599.png);
  background-repeat: no-repeat;
  margin-bottom: 5px;
}
.breadcrumbs {
  font-size: 14px;
  padding-top: 24px;
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.breadcrumbs li + li:before {
  content: "›";
  margin-right: 8px;
}
.page-layout {
  padding-block: 20px 64px;
  min-height: 300px;
}
.has-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  gap: 45px;
}
.entry-content > *:first-child {
  margin-top: 0;
}
.entry-content p {
  margin: 0 0 1.1em;
}
.entry-content li {
  margin-bottom: 0.25em;
}
.entry-content ul,
.entry-content ol {
  padding-left: 1.5em;
}
.entry-content table {
  border-collapse: collapse;
  width: 100%;
}
.entry-content td,
.entry-content th {
  padding: 8px;
  border: 1px solid #ddd;
}
.entry-content .wp-block-image img {
  height: auto;
}
.entry-content .wp-block-columns {
  display: flex;
  gap: 32px;
}
.entry-content .wp-block-column {
  flex: 1;
  min-width: 0;
}
.sidebar {
  padding-top: 25px;
}
.sidebar ul {
  list-style: none;
  padding: 0;
  border-top: 1px solid #ddd;
}
.sidebar li a {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
}
.sidebar [aria-current="page"] {
  font-weight: bold;
  color: #3b3b3b;
}
.page-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}
.page-card img {
  width: 100%;
  aspect-ratio: 1.6;
  object-fit: cover;
}
.page-card h2 {
  margin: 12px 0;
  font-size: 23px;
}
.page-card p {
  font-size: 16px;
}
.home-main {
  position: relative;
  z-index: 2;
}
.home-news {
  background: #243036d9;
  color: #fff;
  width: 50%;
  margin-top: -200px;
  min-height: 200px;
  padding: 26px 30px;
  position: relative;
}
.home-news h2 {
  margin: 0 0 15px;
}
.home-news a {
  color: white;
}
.home-news .page-cards {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.home-news .page-card img,
.home-news .page-card > a:last-child {
  display: none;
}
.home-news .page-card h2 {
  font-size: 18px;
  margin: 0;
}
.home-news .page-card p {
  line-height: 1.4;
  margin: 6px 0 0;
}
.home-intro {
  gap: 0 !important;
}
.home-intro > .wp-block-column {
  padding: 30px;
}
.home-intro > .wp-block-column:first-child {
  background: var(--green);
  color: #fff;
}
.home-intro > .wp-block-column:first-child a {
  color: #fff;
}
.home-intro h1,
.home-intro h2 {
  font-size: 24px;
  margin: 0 0 20px;
}
.home-intro > .wp-block-column:first-child p:first-of-type {
  font-size: 26px;
  font-style: italic;
  font-weight: 300;
  line-height: 1.2;
}
.home-intro ul {
  columns: 2;
  font-size: 16px;
}
.home-intro li {
  break-inside: avoid;
  margin-bottom: 10px;
}
.wp-block-gallery.is-style-meiland-fotoboek {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  margin: 30px 0;
}
.wp-block-gallery.is-style-meiland-fotoboek > .wp-block-image {
  width: auto !important;
  margin: 0 !important;
  display: block;
}
.is-style-meiland-fotoboek .wp-block-image a {
  display: block;
}
.is-style-meiland-fotoboek .wp-block-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
  transition: filter 0.15s;
}
.is-style-meiland-fotoboek .wp-block-image a:hover img {
  filter: brightness(0.87);
}
.photo-dialog {
  border: 0;
  padding: 12px;
  background: #fff;
  max-width: min(1100px, 96vw);
  width: 96vw;
  max-height: 96vh;
  overflow: auto;
}
.photo-dialog::backdrop {
  background: #000d;
}
.photo-dialog figure {
  margin: 0;
  text-align: center;
}
.photo-dialog img {
  display: block;
  max-height: 75vh;
  width: auto;
  margin: auto;
  object-fit: contain;
}
.photo-dialog .photo-tools {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.photo-dialog button {
  background: #fff;
  border: 1px solid #ccc;
  padding: 5px 14px;
}
.photo-dialog figcaption {
  padding-top: 8px;
  font-size: 15px;
}
.photo-dialog a {
  font-size: 14px;
}
.location {
  position: relative;
  margin-top: 25px;
  background: #e5e8e3;
  color: white;
}
.location-map {
  display: block;
  width: 100%;
  height: 450px;
  border: 0;
}
.location-grid {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  pointer-events: none;
}
.location address {
  width: min(450px, 100%);
  padding: 20px;
  border-radius: 10px;
  background: rgb(65 62 53 / 82%);
  font-size: 16px;
  font-style: normal;
  pointer-events: auto;
}
.location address > img {
  width: 145px;
  height: auto;
  object-fit: contain;
  object-position: left;
}
.location a {
  color: white;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.usp {
  background: #eef0ea url(bg-usp.jpg) center/cover;
  padding: 35px 0;
  font-size: clamp(18px, 1.8vw, 24px);
  font-style: italic;
}
.usp .wrap {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  flex-wrap: wrap;
  margin-block: 0;
  padding-block: 0;
  list-style: none;
}
.usp li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.usp-check {
  flex: 0 0 36px;
  fill: none;
  stroke: #f8f8f2;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bottom {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 20px;
  padding: 20px 0;
  font-size: 13px;
}
.bottom > div {
  text-align: right;
}
.bottom p {
  margin: 0;
}
.footer-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 15px;
  list-style: none;
  margin: 0 0 5px;
  padding: 0;
}
.bottom a {
  color: #555;
}
.wpcf7 {
  margin-top: 25px;
  max-width: 700px;
}
.wpcf7 label {
  display: block;
  margin-bottom: 14px;
}
.wpcf7 input:not([type="checkbox"]):not([type="submit"]),
.wpcf7 textarea {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #bbb;
  border-radius: 0;
  background: #fff;
  color: #333;
}
.wpcf7 textarea {
  height: 160px;
}
.wpcf7-submit {
  border: 0;
  background: var(--green);
  color: white;
  padding: 11px 24px;
}
.wpcf7 .wpcf7-acceptance label {
  font-size: 15px;
}
.wpcf7 .wpcf7-list-item {
  margin: 0;
}
@media (max-width: 780px) {
  .header-top {
    grid-template-columns: 1fr auto;
    gap: 12px;
  }
  .header-contact {
    display: none;
  }
  .site-branding img {
    width: 210px;
  }
  .searchform {
    max-width: 235px;
  }
  .menu-toggle {
    display: block;
    background: var(--sand);
    border: 1px solid #ddd;
    padding: 8px 14px;
    color: #333;
    margin-left: auto;
  }
  .mainnav .menu {
    flex-direction: column;
    padding: 0;
  }
  .js .mainnav {
    display: none;
  }
  .js .mainnav.is-open {
    display: block;
  }
  .mainnav .sub-menu,
  .mainnav .children {
    display: block;
    position: static;
    box-shadow: none;
    padding-left: 20px;
  }
  .mainnav .sub-menu a {
    font-size: 15px;
    padding: 7px 12px;
  }
  .hero-services {
    grid-template-columns: 130px 130px;
    grid-template-rows: 130px 130px;
    gap: 8px;
  }
  .service-badge {
    width: 125px;
    height: 125px;
    font-size: 10px;
  }
  .service-icon {
    transform: scale(0.75);
    margin: -10px 0;
  }
  .service-badge--agrarisch {
    transform: translateX(-60px);
  }
  .has-sidebar {
    display: block;
  }
  .sidebar {
    border-top: 1px solid #ddd;
  }
  .page-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-news {
    width: 100%;
    margin: 0;
    min-height: 0;
    padding: 24px;
  }
  .entry-content .wp-block-columns {
    flex-direction: column;
  }
  .home-intro > .wp-block-column {
    padding: 25px;
  }
  .location-grid {
    position: static;
    display: block;
    padding-block: 20px;
  }
  .location-map {
    height: 300px;
  }
  .bottom {
    flex-direction: column;
  }
  .bottom > div {
    text-align: left;
  }
  .footer-menu {
    justify-content: flex-start;
  }
  .wp-block-gallery.is-style-meiland-fotoboek {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 480px) {
  .wrap {
    width: calc(100% - 28px);
  }
  .header-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .header-top .searchform {
    max-width: 100%;
    width: 100%;
  }
  .site-branding img {
    width: 220px;
  }
  .hero-services {
    justify-content: center;
  }
  .hero--home .hero-image {
    height: 340px;
  }
  .page-cards {
    grid-template-columns: 1fr;
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .home-intro ul {
    columns: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.service-icon {
  width: 79px;
  height: 79px;
}
.service-badge--grondverzet .service-icon {
  background-position: 0 -337px;
}
.service-badge--agrarisch .service-icon {
  background-position: 0 -416px;
}
.service-badge--cultuurtechnisch .service-icon {
  background-position: 0 -495px;
}
.certifications {
  display: flex;
  gap: 30px;
  justify-content: center;
  padding-block: 25px;
}
.certifications img {
  display: block;
  width: 100px;
  height: 55px;
  object-fit: contain;
}
/* Enhanced presentation of native, fully editable Gutenberg galleries. */
.wp-block-gallery.is-style-meiland-fotoboek.is-enhanced{display:block!important;margin-bottom:0}
.wp-block-gallery.is-style-meiland-fotoboek.is-enhanced>figure{width:100%!important;margin:0!important}
.wp-block-gallery.is-style-meiland-fotoboek.is-enhanced>figure[hidden]{display:none!important}
.wp-block-gallery.is-style-meiland-fotoboek.is-enhanced>figure img{display:block;width:100%!important;height:auto!important;max-width:100%;max-height:480px;aspect-ratio:2.1 / 1!important;object-fit:cover;object-position:center;margin-inline:auto}
.photo-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0;font-size:14px}
.photo-controls>span{flex:1;text-align:center}
.photo-controls button,.photo-tools button{font:inherit;min-height:42px;padding:8px 12px;background:#f1f0eb;color:#333;border:1px solid #aaa;border-radius:3px;cursor:pointer}
.photo-controls button:hover,.photo-tools button:hover{background:#79b51d;color:#fff}
.photo-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:18px 0 30px}
.photo-thumbnails button{background:transparent;padding:0;border:3px solid transparent;border-radius:2px;cursor:pointer}
.photo-thumbnails button[aria-current=true]{border-color:#79b51d}
.photo-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.photo-open{overflow:hidden}
.photo-tools button:only-child{margin-left:auto}
@media(max-width:600px){.photo-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-controls>span{flex-basis:100%;order:2}.photo-controls button{flex:1}.photo-tools button{font-size:13px;padding:8px}.photo-dialog{padding:10px}}
/* News overview: the original vertical grey panels, with image and copy in a row. */
.news-archive{width:min(680px,100%)}
.news-list{list-style:none;padding:0;margin:25px 0}
.news-list>li{margin:0 0 22px}
.news-row{display:flex;align-items:flex-start;gap:24px;padding:20px;border:1px solid #ccc;background:#f5f5f5}
.news-row-image{display:block;flex:0 0 185px;text-align:center}
.news-row-image img{display:block;width:auto;max-width:100%;height:auto;max-height:180px;object-fit:contain;margin:auto}
.news-row-content{flex:1;min-width:0}
.news-row h2{font-size:24px;margin:0 0 8px;font-weight:400}
.news-row h2 a{color:#567f15;text-decoration:none}
.news-row time,.news-date{font-size:14px;color:#666}
.news-row p{font-size:18px;line-height:1.5;margin:12px 0}
.news-more{display:inline-block;font-size:16px;text-decoration:none;font-weight:700}
.home-news-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.home-news-list a{display:block;color:white;text-decoration:none}
.home-news-list time{display:block;font-size:13px;line-height:1.2;margin-bottom:8px}
.home-news-list strong{display:block;font-size:18px;line-height:1.25;text-decoration:underline;margin-bottom:5px}
.home-news-list span{display:block;font-size:16px;line-height:1.3;font-weight:400}
@media(max-width:600px){.news-row{display:block;padding:18px}.news-row-image{margin-bottom:18px}.news-row-image img{margin:0}.news-row h2{font-size:23px}}
