/*
Theme Name: Astra Child
Description: Child theme voor Astra
Author: AHA Leermiddelenbouwers
Template: astra
Version: 1.0.0
*/

/* =======================
   ALGEMEEN
======================= */

a {
  text-decoration: none !important;
}
p, span, li, a {
  font-size: 1rem;
}
.inner-container {
  max-width: 1024px !important;
}
h2.wp-block-heading {
  font-size: 1.6rem;
}
.to-action a {
  font-size: 1.4em;
}
#slider h2, #bestuur h2, #footer h2 {
  font-size: 3em !important;
  
}
.inner-container.content p,
.inner-container.content div {
  max-width: 800px !important;
}
.to-action {
  display: flex !important;
}
.content .to-action {
  column-gap: 30px !important;
}
.to-action div {
  width: 232px;
  height: 60px;
}

/* Buttons */
.btn, .btn-primary {
  display: inline-block;
  width: auto;
  min-width: 160px;
  max-width: 100%;
  height: auto;
  padding: 18px 36px;
  border-radius: 40px;
  font-size: 1.2em;
  font-weight: 700;
  background: #42437b !important;
  color: #fff !important;
  box-shadow: none;
  border: none;
  text-align: center;
  transition: background 0.2s, color 0.2s;
  margin: 10px 0 0 0;
  line-height: 1.1;
  cursor: pointer;
}
.btn:hover, .btn-primary:hover {
  background: #6061aa !important;
  color: #fff;
}

/* Focus/active states menu */
.menu-link:focus,
.menu-link:active,
.menu-link:focus-visible,
.menu-link:visited {
  outline: none !important;
  box-shadow: none !important;
}

/* =======================
   HEADER & MENU
======================= */

.site-header, #ast-desktop-header, .ast-primary-header, .site-primary-header-wrap {
  height: 120px;
}
.site-header .ast-builder-grid-row {
  gap: 0;
}
.site-logo-img img {
  width: 300px;
}
.site-header-primary-section-left {
  justify-content: space-around;
}
.site-header-primary-section-right {
  align-items: flex-end;
  justify-content: center;
}
.site-header-primary-section-right ul {
  margin-bottom: 16px;
}
.nav li {
  min-width: 200px;
}
#menu-item-1120 {
  display: none;
}

/* Algemene menu-items */
.site-navigation .menu-item {
  border-radius: 30px;
  height: 60px;
  min-width: 180px;
  padding: 0 25px;
  text-align: center;
  background-color: #3ab54a;
  margin-left: 10px;
  display: block;
}
#menu-item-1747 { /* search-bar */
  opacity: 0;
  position: fixed;
  top: 120px;
  right: 120px;
  width: 350px !important;
  height: 90px!important;
  background-color: #9bc6a1;
  border-radius: 0!important;
  pointer-events: none;
  transition: opacity 0.35s;
}
#menu-item-1747.visible {
  opacity: 1;
  pointer-events: auto;
}
#floating-search-form {
  width: 280px;
  border-radius: 8px!important;
  background-color: #FFF;
}
#floating-search-form .custom-search-form {
  margin-bottom: 0!important;
}
#menu-item-1745.menu-item {
  position: fixed !important;
  right: 80px;
  background-color: transparent;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.35s ease; /* fade */
}
#menu-item-1745.hide {
  opacity: 0;
  pointer-events: none;
}
#menu-item-1745.menu-item .menu-search-icon svg {
  display: block;
  height: 50px!important;
  width: 50px!important;
}
#menu-item-1745.menu-item span {
  display: none;
}
.menu-search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  width: 48px;
  cursor: pointer;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 50%;
  transition: background 0.2s;
}

.menu-search-icon:hover, .menu-search-icon:focus {
  background: #f2f4f8;
}

.menu-search-icon svg {
  display: block;
  height: 28px;
  width: 28px;
  stroke: #273269;
}


/* Hamburger-menu */
#menu-item-1102.menu-item {
  position: fixed !important;
  z-index: 99999 !important;
  top: 0;
  right: 0;
  width: 120px !important;
  min-width: 120px;
  height: 120px !important;
  background-color: #6061aa !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s;
}
#menu-item-1102.menu-item.mini {
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  top: 24px;
  right: 24px;
  border-radius: 50% !important;
  background-color: #6061aa !important;
  box-shadow: 0 2px 16px rgba(60,60,100,0.20);
  transition:
    width 0.9s cubic-bezier(.65,.05,.35,1),
    min-width 0.9s cubic-bezier(.65,.05,.35,1),
    height 0.9s cubic-bezier(.65,.05,.35,1),
    top 0.9s cubic-bezier(.65,.05,.35,1),
    right 0.9s cubic-bezier(.65,.05,.35,1),
    border-radius 0.9s cubic-bezier(.65,.05,.35,1),
    background-color 0.9s,
    box-shadow 0.9s cubic-bezier(.65,.05,.35,1),
    padding 0.9s;
}
#menu-item-1102.menu-item:has(#hamburger-menu.active) {
  background-color: #3ab54a !important;
}
#menu-item-1102.menu-item a {
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  width: auto;
  height: auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
#menu-item-1102.menu-item #hamburger-menu {
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: width 0.9s, height 0.9s;
}
#hamburger-menu .bar {
  width: 32px;
  height: 4px;
  background: #FFF;
  border-radius: 2px;
  margin: 3px 0;
  transition: all 0.3s cubic-bezier(.5,0,.5,1);
  position: relative;
}
.menu-link #hamburger-menu.active .bar:nth-child(1) {
  transform: translateY(10px) rotate(45deg) scale(1.1);
}
.menu-link #hamburger-menu.active .bar:nth-child(2) {
  opacity: 0;
}
.menu-link #hamburger-menu.active .bar:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg) scale(1.1);
}

/* Algemene menulinks */
.site-navigation .menu-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  padding: 0 24px;
  color: #FFF !important;
  font-size: 1.2em;
  line-height: 1.2;
  border-radius: 0px;
}

/* Submenu chevrons en submenu's */
#menu-item-1113 .menu-link,
#menu-item-1114 .menu-link,
#menu-item-1208 .menu-link {
  position: relative;
  padding-right: 28px !important;
}
#menu-item-1113 .menu-link::after,
#menu-item-1114 .menu-link::after,
#menu-item-1208 .menu-link::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 57%;
  transform: translateY(-60%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #fff;
  border-top: none;
  transition: transform 0.3s cubic-bezier(.55,0,.1,1);
  pointer-events: none;
}
#menu-item-1113 .menu-link.open::after,
#menu-item-1114 .menu-link.open::after,
#menu-item-1208 .menu-link.open::after {
  transform: translateY(-10%) rotate(180deg);
}
div#sub-menu-1\ voor-wie,
div#sub-menu-2\ kennis-en-leren,
div#sub-menu-3\ actueel {
  display: none;
}
div#sub-menu-1\ voor-wie.show,
div#sub-menu-2\ kennis-en-leren.show,
div#sub-menu-3\ actueel.show {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative;
  z-index: 10002 !important
}

#sub-menu-1,
#sub-menu-2,
#sub-menu-3 {
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
#sub-menu-1.show,
#sub-menu-2.show,
#sub-menu-3.show {
  pointer-events: auto;
  opacity: 1;
  transition-delay: 0.2s;
}
.site-header-section .ast-builder-html-element.slide-active .show {
  opacity: 1;
  transition-delay: 0.2s;
}

/* Submenu ul/li */
#sub-menu-1\ voor-wie ul,
#sub-menu-2\ kennis-en-leren ul,
#sub-menu-3\ actueel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: 8px;
  font-size: 1.13em;
}
#sub-menu-1\ voor-wie ul a li,
#sub-menu-2\ kennis-en-leren ul a li,
#sub-menu-3\ actueel ul a li {
  padding: 12px 18px 12px 0;
  border-bottom: 1px solid #d5d8be!important;
  color: #2a2e2c;
  position: relative;
  transition: background 0.2s;
  cursor: pointer;
  max-width: 400px;
}
#sub-menu-1\ voor-wie ul li:last-child,
#sub-menu-2\ kennis-en-leren ul li:last-child,
#sub-menu-3\ actueel ul li:last-child {
  /*border-bottom: none!important;*/
}
#sub-menu-1\ voor-wie ul a ,
#sub-menu-2\ kennis-en-leren ul a,
#sub-menu-3\ actueel ul a {
  color: #222 !important;
  font-size: 1.2em;
  font-weight: 700;
  text-decoration: none;
}
#sub-menu-1\ voor-wie ul li::after,
#sub-menu-2\ kennis-en-leren ul li::after,
#sub-menu-3\ actueel ul li::after {
  content: "›";
  position: absolute;
  right: 16px;
  font-size: 1.2em;
  color: #3a3d3b;
  opacity: 0.5;
  transition: opacity 0.2s;
}
#sub-menu-1\ voor-wie ul li:hover::after,
#sub-menu-2\ kennis-en-leren ul li:hover::after,
#sub-menu-3\ actueel ul li:hover::after {
  opacity: 0.9;
}
#sub-menu li:hover {
  padding-left: 5px !important;
  background: #f0f0f036 !important;
}
#ast-hf-menu-2 li:hover {
  padding-left: 5px !important;
  background: #f0f0f0a1 !important;
}
#sub-menu-3 .blok-1 {
  background: transparent!important;
  background-color: transparent!important;
}
#ast-hf-menu-2 li#menu-item-1724 {
  width: 290px!important;
}
#ast-hf-menu-2 li#menu-item-1724:hover,
#ast-hf-menu-2 li#menu-item-1245:hover,
#ast-hf-menu-2 li#menu-item-1288:hover {
  padding-left: 0 !important;
  background: transparent !important;
}
#sub-menu li:hover::after {
  right: 10px;
}

.ast-builder-html-element,
.site-header-section .ast-builder-html-element,
.ast-header-html {
  overflow: visible !important;
}

/* Verberg eventuele extra headerbalk */
.ast-below-header-bar {
  height: 0px !important;
  min-height: 0px !important;
}

/* Header slide panel */
.site-header-section .ast-builder-html-element {
  position: fixed !important;
  top: 120px !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  background: #9bc6a1;
  transition: max-height 0.5s cubic-bezier(.65,.05,.35,1), opacity 0.3s;
}

.site-header-section .ast-builder-html-element.slide-active {
  min-height: 400px !important;
  max-height: 400px !important;
  opacity: 1 !important;
  overflow: visible !important;
  transition: max-height 0.5s cubic-bezier(.65,.05,.35,1), opacity 0.3s;
  z-index: 10001 !important;
  pointer-events: auto !important;
}

.site-header-section .ast-builder-html-element .inner-container {
  display: flex;
  gap: 50px;
  max-width: 1024px !important;
  justify-content: stretch;
  padding: 0;
  margin: 30px auto !important;
}
.site-header-section .ast-builder-html-element .inner-container > div {
  flex: 1 1 0;
  box-sizing: border-box;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 370px;
  max-width: 480px;
}
.ast-below-header-wrap .blok-2 {
  height: 230px;
}
[id^="sub-menu-1"] .blok-1, [id^="sub-menu-2"] .blok-1 {
  padding: 24px;
  background: #fff;
}

#voor-wie a, #kennis-en-leren a, #actueel a {
  font-size: 1.2em !important;
}
.to-action-voorwie {
  box-shadow: 0 8px 32px rgba(0,0,0,0.35)!important;
}

/* Kleurverloop onderkant header slide */
.site-header-section .ast-builder-html-element::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 100vw;
  height: 32px;
  /*background: linear-gradient(to bottom, rgba(255,255,255,0.7), rgba(50,70,100,0.07), rgba(0,0,0,0));*/
  pointer-events: none;
}

.ast-builder-menu-2 {
  position: fixed !important;
  top: 120px;
  right: 0;
  width: 480px;
  max-width: 100vw;
  height: calc(100vh - 120px);
  background: #fff;
  box-shadow: -2px 0 24px rgba(0,0,0,0.12);
  transform: translateX(100%);
  transition: all .15s ease;
  z-index: 99998;
  overflow-y: auto;
}
.ast-builder-menu-2 .ast-main-header-bar-alignment {
  margin-left: 25px !important;
}
ul#ast-hf-menu-2 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.titel-menu {
  font-size: 1.2em;
  margin-bottom: 25px;
}
/* Wanneer hamburger-menu actief is → menu in beeld */
#menu-item-1102.menu-item:has(#hamburger-menu.active) ~ .ast-builder-menu-2,
.ast-builder-menu-2.menu-active {
  transform: translateX(0%);
}
.ast-builder-menu-2 .main-header-bar-navigation {
  margin-top: -140px;
}
.ast-builder-menu-2 .menu-item {
  border-radius: 0 !important;
  text-align: left !important;
  background-color: transparent !important;
  padding: 12px 18px 12px 0 !important;
  border-bottom: 1px solid #d5d8be !important;
  color: #2a2e2c !important;
  position: relative !important;
  transition: background 0.2s !important;
  cursor: pointer !important;
  max-width: 400px !important;
}
.ast-builder-menu-2 .menu-item a {
  text-align: left !important;
  font-weight: 700;
  justify-content: flex-start;
  padding: 0 !important;
  color: #2a2e2c !important;
}
.ast-builder-menu-2 .menu-item-1245 a span {
  color: #2a2e2c !important;
  font-weight: 500;
  margin-right: 25px;
}
#menu-item-1245, #menu-item-1288 {
  border-bottom: 0 !important;
}
#menu-item-1288 {
  position: fixed !important;
  bottom: 80px;
}
#menu-item-1288 .menu-socials {
  display: flex;
  justify-content: flex-start;
  margin-top: 30px;
  margin-left: 25px;
  width: 120px;
}
#menu-item-1288 .menu-socials .menu-link {
  display: none !important;
}
.menu-socials {
  display: flex;
  gap: 0;
  justify-content: center;
  align-items: center;
}
.menu-socials a {
  text-decoration: none;
}
.icon-circle {
  width: 50px;
  height: 50px;
  background: #525293;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.icon-circle:hover {
  background: #3d397e;
}
.icon-circle img {
  width: 30px;
  height: 30px;
  filter: brightness(0) invert(1);
  display: block;
}

/* Zoekformulier-container */
.custom-search-form {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 16px;
  width: 100%;
  max-width: 350px;
  padding: 5px;
  border: 1px solid #273269;
  border-radius: 8px;
}

/* Zoekveld zelf */
.custom-search-field {
  flex: 1 1 0;
  height: 54px;
  padding: 0 16px;
  border: none;
  border-radius: 8px;
  background: #fff;
  font-size: 1.1em;
  color: #273269;
  box-sizing: border-box;
  box-shadow: none!important;
  outline: none;
  transition: box-shadow 0.2s;
}

.custom-search-field:focus {
  box-shadow: 0 0 0 2px #60b44a55;
}

.search-results .ast-article-inner {
  border-radius: 5px;
}

/* Groene knop met loep */
.custom-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3cb44a;
  border: none;
  height: 40px;
  width: 40px;
  border-radius: 27px; /* Perfect rond */
  cursor: pointer;
  margin-left: -4px; /* optioneel: overlap een beetje */
  transition: background 0.2s;
  box-shadow: 0 1px 2px rgba(0,0,0,0.06);
  padding: 0;
}

.custom-search-submit:hover {
  background: #36a43e;
}

.custom-search-submit svg {
  display: block;
  margin: 0 auto;
  /* SVG loep centreren */
  width: 24px;
  height: 24px;
  stroke: #273269;
  stroke-width: 2;
}

/* Placeholder kleur */
.custom-search-field {
  width: 190px!important;
  border:none!important;
}
.custom-search-field::placeholder {
  width: 190px!important;
  color: #7b8a9e;
  opacity: 1;  
}


/* =======================
   HERO, SLIDER, OVERIG
======================= */

section#hero {
  max-height: 400px;
}
section#hero .inner-container:nth-child(1) {
  margin-top: 155px;
}
.home #hero .gb-element-55372e64 .content {
  border-radius: 15px;
  padding: 0 30px 30px 30px;
  max-width: 670px;
  /* reset eventueel bestaande achtergrondinstellingen */
  background: none !important;
  background:
  /* Donkere basis links-onder (leesbaarheid) */
  radial-gradient(
    circle at bottom left,
    rgba(34, 34, 34, 0.75) 0%,    /* begin donkerder, voor contrast tekst */
    rgba(34, 34, 34, 0.35) 40%,
    rgba(34, 34, 34, 0.0) 60%,
    rgba(34, 34, 34, 0.0) 100%    /* vloeit weg naar rechts */
  ) !important;

}

#hero h1 {
  font-size: 5rem !important;
}
#hero p {
  font-size: 2.2rem !important;
}
@keyframes upAndDown {
  0%   { transform: translateX(-50%) translateY(0); }
  50%  { transform: translateX(-50%) translateY(20px); }
  100% { transform: translateX(-50%) translateY(0); }
}
#scroll-btn {
  transform: translateX(-50%);
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #fff;
  z-index: 4;
  animation: upAndDown 3s ease-in-out infinite;
}
#scroll-btn i {
  filter: invert(14%) sepia(18%) saturate(7306%) hue-rotate(223deg) brightness(97%) contrast(98%);
  position: absolute;
  content: "";
  width: .375rem;
  height: .625rem;
  background: url(/wp-content/uploads/2025/11/right.svg) no-repeat;
  background-size: contain;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
}
#scroll-btn span {
    display: none;
}

/*--- SLDERS ---*/
.metaslider.ms-theme-clarity .flexslider .caption-wrap .caption {
  padding: 10px 30px!important;
  background: transparent!important;
}
.flex-nav-prev .flex-prev {
  margin-left: -25px !important;
}
.flex-nav-next .flex-next {
  margin-right: -25px !important;
}
.metaslider.ms-theme-clarity .flexslider .flex-control-paging li a {
    width: 10px!important;
    height: 10px!important;
}
.flex-pauseplay {
  /*display: none;*/
}
#metaslider-id-1831 li .caption-wrap {
  display: none;
}
#metaslider-id-1831 li {
  justify-content: center;
}
#metaslider_1831.flexslider {
  margin-bottom: 0!important;
}

/* Hamburger menu SVG icon kleur */
.ahfb-svg-iconset svg>* {
  fill: #42437b !important;
}
/* #metaslider_1818 {
  height: 150px;
} */

/* =======================
   BOEKEN
======================= */

.boek-card {
  transition: box-shadow 0.3s, transform 0.3s;
  box-shadow: 0 2px 12px rgba(0,0,0,0.10);
  border-radius: 14px;
  background: #fff;
}
.boek-card:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 8px 24px rgba(0,0,0,0.18), 0 1.5px 8px rgba(0,0,0,0.13);
  z-index: 2;
}

/* =======================
   NIEUWSBERICHTEN / BLOGS
======================= */

.nieuws-card {
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.09);
  transition: transform 0.15s, box-shadow 0.15s;
}
/*.nieuws-card:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 8px 28px rgba(0,0,0,0.15);
}*/


/* ========================
   THEMA'S
========================= */

.gb-media-img {
  max-height: 205px;
  width: 100%!important;
}

/* =======================
   EVENTS
======================= */

.wpem-event-description a {
  color: var(--wpem-gray-color)!important; 
  cursor: none;
}
.wpem-event-layout-wrapper {
  border-right: none!important;
  border-left: none!important;
}
.event_listing {
  border-left: none!important;
}
.wpem-additional-info-block-wrapper {
  display: none;
}

/* =======================
   BLOGS
======================= */

.type-post img {
  width: 100%;
}

/* =======================
   FOOTER, CONTACTBLOK, OVERLAY
======================= */

.site-footer .ast-builder-footer-grid-columns {
  display: flex!important;
} 
#left-footer {
  display: flex;
}
#left-footer .blok-left {
  margin-right: 20px;
}

#bestuur  {
  margin-top:  0!important;
  max-height: 177.875px!important;
} 
#bestuur .inner-container h2 {
  margin-bottom:  25px!important;
} 
.metaslider_image_link img {
   max-height: 177.875px!important;
}
.site-above-footer-wrap {
  padding: 43px 0 60px 0 !important;
  background-color: #FFF !important;
}
.site-primary-footer-wrap .ast-builder-grid-row-container-inner,
.site-above-footer-wrap .ast-builder-grid-row-container-inner {
  max-width: 1024px;
  margin: 0 auto;
}
.site-primary-footer-wrap {
  padding: 60px 0 !important;
  background-color: #38386a !important;
}
.footer-widget-area[data-section="section-fb-html-1"] .ast-builder-html-element {
  text-align: left;
}
.footer-widget-area[data-section="section-fb-html-1"] .ast-builder-html-element h2 {
  color: #FFF;
}
.ast-footer-html-2 .ast-builder-html-element {
  display: flex;
  gap: 25px;
}
#site-footer-primary-section-1 {
  width: 450px;
}
#colofon .blok-1 {
  /*height: 245px;*/
  background-color: transparent !important;
}
#colofon {
  display: flex;
  flex-direction: row;
}
#colofon .blok-1 {
  width: 450px;
}
#colofon .blok-2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
  width: 425px;
  margin-top: 8px!important;
  padding-bottom: 12px;
}

#colofon .blok-2 .btn {
  width: 180px!important;
  height: 60px!important;
  background-color: #3ab54a !important;
}
#colofon .blok-2 .btn:hover {
  background-color: #6061aa !important;
}

#colofon p, #colofon strong {
  color: #FFF !important;
}
#block-13 {
  margin-bottom: 0;
}
.gb-element-3793b494 {
  display: grid;
  grid-template-columns: 1fr auto !important;
  column-gap: 16px;
  row-gap: 16px;
  padding: 25px;
  border-top-left-radius: 30px;
  background-color: #FFF !important;
}
.site-footer-primary-section-1 {
  width: 780px;
}
.site-footer-primary-section-2 .container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 10px;
  background-color: #FFF;
  border-radius: 5px;
}
.site-footer-primary-section-2 .inner-container {
  display: flex;
  flex-direction: column;
}
.site-footer-primary-section-2 .inner-sub-container {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.site-footer-primary-section-2 .inner-sub-container .img-2-box {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.site-footer-primary-section-2 img {
  max-width: 150px;
  padding-right: 10px;
}
.site-footer-primary-section-2 p {
  color: #222;
}
.site-below-footer-wrap {
    width: 1024px!important;
    margin: 0 auto;
    padding: 5px 0!important;
}
.site-below-footer-wrap .site-below-footer-inner-wrap {
    padding: 0!important;
}
.ast-footer-copyright {
    text-align: left;
}
/* Contact overlay en pop-up */
.site-footer-below-section-2 {
  position: fixed !important;
  bottom: 0;
  right: 0;
  width: 520px;
  transform: translate(100%, 100%);
  opacity: 0;
  transition: transform .4s ease, opacity .4s ease;
  z-index: 99999;
}
.site-footer-below-section-2.show {
  transform: translate(0, 0);
  opacity: 1;
}
.contact-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.20);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 9998;
}
.contact-overlay.show {
  opacity: 1;
  pointer-events: auto;
}
.footer-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #1a2350;
  border-radius: 50%;
  color: #fff;
  width: 28px;
  height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

/* Contact button rechtsonder */
/*#block-16 {
  position: fixed;
  bottom: 0 !important;
  right: 0 !important;
  z-index: 9999;
}*/
#floating-contact {
  position: fixed;
  bottom: 0;
  right: 0;
  margin: 0 !important;
  cursor: pointer;
  z-index: 9999;
}
#floating-contact-inner {
  background: #3ab54a !important;
  color: #1a2350;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 6px 0 0 6px;
  text-decoration: none;
  font-weight: 700;
  font-family: inherit;
  box-shadow: 0 6px 15px rgba(0,0,0,0.2);
  transition: transform 0.2s ease;
}
#floating-contact-inner:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.25);
}
.contact-icon {
  background: #fff;
  color: #1a2350;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 16px;
}
.contact-text {
  font-size: 16px;
}
#close-floating-contact {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: #1a2350;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
#close-floating-contact:hover {
  background: #314082;
}

#ast-scroll-top {
  right: 0 !important;
  margin-right: 0;
  margin-bottom: 25px;
  background-color: #3ab54a !important;
}

/* =======================
   EVENWEMENTEN 
======================= */
.wpem-social-icon a {
    text-indent: -9999px;
    display: inline-block;
    width: 40px;
    height: 40px;
    overflow: hidden;
}
.registration_button {
    background-color: #6061aa !important;
}


/* =======================
   SCROLLBAR (moderne, strakke stijl)
======================= */
::-webkit-scrollbar {
  width: 12px !important;
}
::-webkit-scrollbar-track {
  background: #f5f5f5 !important;
}
::-webkit-scrollbar-thumb {
  background-color: #3ab54a !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: 40px !important;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #3ab54a !important;
}
::-webkit-scrollbar-button {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* Firefox */
/* * {
  scrollbar-width: thin;
  scrollbar-color: #3b3f9d #f5f5f5;
} */


/* =======================
   MEDIA QUERIES
======================= */


/* Normale desktops (≤ 1600px) */
@media (max-width: 1600px) {
  .site-header-primary-section-right {
    justify-content: flex-start;
  }
}

/* Laptops (≤ 1300px) */
@media (max-width: 1300px) {
  .site-header, #ast-desktop-header, .ast-primary-header, .site-primary-header-wrap, .site-header .ast-builder-grid-row {
    height: 90px;
  }
  .site-header-section .ast-builder-html-element {
    top: 90px !important;
  }
  .site-logo-img img {
    width: 250px;
  }
  .site-navigation .menu-item {
    height: 55px!important;
  }
  #menu-item-1102.menu-item {
    width: 90px !important;
    min-width: 90px;
    height: 90px !important;
  }
  .site-header-section .ast-builder-html-element.slide-active {
    padding-left: 35px;
  }
  #menu-item-1120 {
    display: inline-block;
    visibility: hidden;
  }
  .ast-builder-menu-2 {
    top: 90px;
    height: calc(100vh - 90px);
    padding-top: 90px;
  }
  .icon-circle {
    margin-right: 5px;
  }
  .menu-item-1747 {
    top: 90px!important;
  }
  .header-hamburger-placeholder {
    width: 120px; /* of dezelfde breedte als je hamburger-blok */
    min-width: 120px;
    flex-shrink: 0;
  }
  #menu-item-1288 {
    display: flex;
    flex-direction: row;
    bottom: 70px;
    width: 300px;
  }
  #menu-footer {
    margin-bottom: -30px;
  }
  #hero {
    min-height: 200px;
    height: 200px;
  }
  .home #hero {
    min-height: calc(100vh - 90px);
  }
  #hero h1 {
    font-size: 3rem !important;
  }
  .home #hero h1 {
    font-size: 4rem !important;
  }
  #hero p {
    display: none;
  }
  .home #hero p {
    display: initial;
  }
  section#hero .inner-container:nth-child(1) {
    margin-top: 0;
  }
  #scroll-btn {
    margin-top: -50px!important;
  }
  .inner-container{
    max-width: 1024px!important;
  }
  #bestuur > div > div {
    display: flex;
    flex-wrap: wrap;
    gap: 24px; /* optioneel, ruimte tussen logo's */
    justify-content: center;
    align-items: center;
  }
}

/* Laptops (≤ 1100px) */
@media (max-width: 1100px) {
  .inner-container{
    width:100%;
    max-width: 900px!important;
  }
  .ast-builder-grid-row {
    justify-content: start;
  }
  .site-logo-img img {
    width: 200px;
  }
  #menu-item-1120 {
    display: none;
  }
  #hero h1 {
    font-size: 4rem !important;
  }
  .to-action div {
    width: 200px;
  }
  .to-action a {
    padding: 10px;
    font-size: 1.1em;
  }
  .site-primary-footer-wrap {
    padding: 60px 15px !important;
  }
  .site-below-footer-wrap {
    padding: 5px 15px !important;
  }
}

/* Tablets landscape (≤ 992px) */
@media (max-width: 992px) {
  .ast-main-header-nav-open #content{
    opacity: 0;
  }
  .ast-mobile-header-content {
    height: 100vh;
  }
  .site-header-primary-section-left {
	max-width: 200px;
  }
  .ast-header-break-point .main-navigation .stack-on-mobile li {
    width: 57%;
    margin: 3px;
  }
  .site-navigation .menu-item {
	  min-width: 160px;
  }
  .site-navigation .menu-item a {
    font-size: 1em;
    background: transparent!important;
  }
   [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle {
    position: absolute;
    top: 20px;
    right: 20px;
    margin-bottom: 12px;
  }
  #ast-hf-mobile-menu .sub-menu.visible {
     position: absolute;
     display: flex !important;
     flex-direction: column !important;
     opacity: 1;
     gap: 1px;
     width: 100%;
    }
    #ast-hf-mobile-menu .menu-item-has-children > .menu-link {
        width: 100%;
    }
        #ast-hf-mobile-menu .sub-menu li {
        width: 90% !important;
        text-align: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
  #hero .inner-container:nth-child(1) {
     margin-top: 0!important;
  }     
  .sub-menu.visible {
    top: 58px;
  }
  .home #hero h1 {
    margin-top:20px!important;
    height: 80px;
    font-size: 3rem !important;
  }  
  #hero p {
    font-size: 2rem!important;
  }
  .inner-container{
    max-width: 800px!important;
  }
  #scroll-btn{
    margin-top: -100px!important;
  }
  .to-action {
    /*max-width: 100vw !important;*/
    padding: 0 10px;
  }
  .to-action div {
    width: 220px
  }
  .to-action a {
    padding: 1rem 1 rem;
    font-size: 1.1em;
  }
  #bestuur .inner-container {
    margin: 60px 0!important;
    padding: 0 20px!important;
    max-width: 100vw!important;
  }
  #bestuur .inner-container > div {
    display: flex;
    flex-wrap: nowrap;              /* alles op één regel houden */
    justify-content: center;        /* centreren in de container */
    align-items: center;
    gap: clamp(8px, 1vw, 16px);     /* kleinere tussenruimte */
    overflow-x: hidden;
  }
  /* Zorg dat alle logo-containers binnen het bestuur-blok flexibel schalen */
  #bestuur .inner-container > div > div {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }    
  /* Afbeeldingen netjes responsief maken */
  #bestuur img {
    width: 90%;                     /* iets kleiner maken */
    max-width: 110px;               /* pas dit aan tot alles naast elkaar past */
    height: auto;
    object-fit: contain;
  }
  .site-footer .ast-builder-footer-grid-columns {
     flex-direction: column;
  }
  #colofon {
    flex-direction: column;
  }
  #colofon .blok-1 {
    padding: 10px!important;
    width: 100%!important;
  }
  #colofon .blok-2 {
    flex-direction: column;
    gap: 10px;
    width: 100%!important;
    padding: 10px!important;
  }
  #colofon .blok-2 button {
    height: 50px;
  }
  .site-footer-primary-section-1 {
    height: 350px!important;
  }
  .site-below-footer-wrap {
    height: 140px!important;
    width: 100vw!important;
  }
}

/* Tablets portrait (≤ 768px) */
@media (max-width: 768px) {
  .ast-header-break-point .main-navigation .stack-on-mobile li {
    width: 100%;
    margin: 0px;
  }
  .inner-container {
    flex-wrap: wrap;
  }
  #bestuur .inner-container {
    margin: 10px!important; 
  }
  #bestuur .inner-container > div {
    flex-wrap: wrap;
  }
  .site-navigation .menu-item {
    padding: 0!important;
    margin-left: 0!important;
  }
  .main-navigation ul .menu-item .menu-link {
    padding: 0!important;
  }
  #ast-hf-mobile-menu .sub-menu {
    display: none;
    flex-direction: column;
    gap: 10px;
    position: relative !important;  
    top: -13px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important; /* of je menu kleur */
    z-index: 10 !important;
    margin: 0 !important;
    padding: 10px 0px 0 80px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 0;   
    height: 100vh;
  }
  .ast-header-break-point .main-header-bar-navigation {
    line-height: 4;
  } 
  .ast-header-break-point .ast-nav-menu .sub-menu {
    line-height: 4;
    gap: 10px;
  }
  .ast-menu-toggle {
    background-color: transparent!important;
    border: none!important;
  }
  .ast-menu-toggle .ast-icon {
    color: #222;
  }
  .ast-menu-toggle .icon-arrow {
    display: inline-block;
    transition: transform 0.3s cubic-bezier(.4,2,.6,1);
  }
  .ast-menu-toggle.toggled .icon-arrow {
    transform: rotate(180deg);
  }

  #ast-hf-mobile-menu .sub-menu li {
    width: 100% !important;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #ast-hf-mobile-menu .sub-menu.visible {
    display: flex!important;
    opacity: 1;
    gap: 10px;
  }
  #ast-hf-mobile-menu .menu-item-has-children > .menu-link {
    width: 100%;
  }
  /* optioneel: kleine scheiding tussen subitems */
  #ast-hf-mobile-menu .sub-menu li + li {
    border-top: 1px solid #eee;
  }
  /* optioneel: geen extra pijl voor submenu in submenu */
  #ast-hf-mobile-menu .sub-menu .ast-header-navigation-arrow {
    display: none !important;
  }
  #ast-mobile-header .ast-builder-grid-row {
    justify-content: stretch!important;
  }
  .ast-mobile-header-content {
    height: 100vh;
    background-color: #FFF!important;
  }
  .ast-mobile-header-content li {
    /*margin-right: 10px!important;*/
  }
  .ast-mobile-header-content a {
    background-color: transparent!important;
  }
  #ast-hf-mobile-menu {
    gap: 10px;
    padding: 25px 25px;
    background-color: transparent!important;
  }

  .site-footer-below-section-2 {
    width: 100vw;
    margin: 0!important;
  }
  .footer-widget-area {
    margin-left: 15px;
  }
  .inner-container{
    max-width: 600px!important;
  }
  .inner-container.content {
    padding: 0 40px;
  }
  .to-action div {
    width: 200px;
  }
}

/* Grote telefoons (≤ 600px) */
@media (max-width: 600px) {

  [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle {
    position: initial;
  }
  #hero .inner-container:nth-child(1) {
     margin-top: 50px!important;
  }     
  .home #hero h1 {
    margin-top:20px!important;
    height: 80px;
    font-size: 3rem !important;
  }  
  .inner-container{
    max-width: 550px!important;
  }
  .inner-container.content {
    max-width: 550px !important;
  }
  #hero h1 {
    font-size: 2rem!important;
  }
  #hero p {
    font-size: 1rem!important;
  }
  .to-action div {
    width: 280px;
  }
  .ml-slider strong {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    line-height: normal !important;
  }
  #metaslider-id-765 .ml-slider img {
    padding-bottom: 80px !important;
 }
 
#metaslider-id-765 .flexslider .caption-wrap {
    color: rgb(255, 255, 255);
}
#metaslider-id-765 .flexslider .caption-wrap {
    /*background: rgba(255, 255, 255, 0);*/
}
.metaslider .caption-wrap {
    margin-bottom: -40px !important;
    padding-top: 0px!important;
}
  .flex-nav-prev .flex-prev {
    margin-left: 0px !important;
  }
  .flex-nav-next .flex-next {
    margin-right: 0px !important;
  } 
}

/* Kleine telefoons (≤ 480px) */
@media (max-width: 480px) {
    [data-section="section-header-mobile-trigger"] .ast-button-wrap .menu-toggle {
      margin-right: -50px;
      margin-bottom: 15px;
    }
  .inner-container{
    width:100%!important;
    padding: 0 20px!important;
    max-width: 460px!important;
  }
  .inner-container.content {
    width:100%!important;
    padding: 0 20px!important;
    max-width: 460px !important;
  }
  section#hero {
    max-height: 180px;
  }
  .to-action div {
    width: 280px;
  }
  #hero .inner-container:nth-child(1) {
    margin-top: 170px;
  }
  .home #hero h1 {
    height: 120px;
    font-size: 2rem !important;
  }
  .home #hero h1 {
    height: 120px;
    font-size: 2rem !important;
  }
  .home #hero .gb-element-55372e64 .content {
        background: radial-gradient(circle at bottom left,
         rgba(34, 34, 34, 0.5) 10%,
         rgba(34, 34, 34, 0.4) 40%,
         rgba(34, 34, 34, 0.3) 60%,
         rgba(34, 34, 34, 0.2) 100% ) !important;
  }
  #bestuur .inner-container {
    margin: 0!important;
    padding: 0!important;
  }
  #bestuur .inner-container > div > div {
    flex-basis: 130px;
  }
  #metaslider-id-765, #metaslider-id-1831, #metaslider-id-1305 {
    max-width: 100vw;
  }
  .site-footer-primary-section-1 {
    width: 100%!important;
  }
  #scroll-btn {
    margin-top: -70px;
  }
  .alignnormal {
    width: 100%!important;
  }
  li.ms-image.ms-has-caption {
    width: 150px!important;
  }
  .footer-widget-area {
    margin-left: 0;
  }
  .site-footer-primary-section-1 {
    height: 470px !important;
  }
  .site-footer-primary-section-2 img {
    margin-right: 0!important;
    margin-bottom: 25px;
  }
  #metaslider_1831.flexslider .slides li, #metaslider_1831.flexslider .slides li a {  
    max-width: 100px!important;
  }
  #colofon .blok-2 {
    margin: 0 1%;
  }
  .site-footer-primary-section-2 {
    display: none!important;
  }

}