/* ALC Elementor Pro Replacement */

/* Nav menu */
.alc-nav-wrap { position: relative; display: flex; flex-wrap: wrap; justify-content: center; }
.alc-nav-wrap > .alc-nav--main { width: 100%; }
.alc-nav ul { list-style: none; margin: 0; padding: 0; }
.alc-nav--main > ul { display: flex; flex-wrap: wrap; align-items: center; }
.alc-nav--main > ul > li { position: relative; }
.alc-nav--main a { position: relative; display: block; padding: 13px 20px; line-height: 20px; text-decoration: none; transition: color .3s; }
.alc-nav--main a::after { content: ""; position: absolute; left: 0; right: 0; height: 3px; background-color: #3f444b; opacity: 0; transition: opacity .3s; }
.alc-pointer--underline .alc-nav--main a::after { bottom: 0; }
.alc-pointer--overline .alc-nav--main a::after { top: 0; }
.alc-pointer--text .alc-nav--main a::after,
.alc-pointer--none .alc-nav--main a::after { display: none; }
.alc-nav--main a:hover::after,
.alc-nav--main .current-menu-item > a::after { opacity: 1; }
.alc-nav--main .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 200px; z-index: 99; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.alc-nav--main li:hover > .sub-menu,
.alc-nav--main li:focus-within > .sub-menu { display: block; }
.alc-nav--main .sub-menu a::after { display: none; }

.alc-nav__toggle { display: none; align-items: center; justify-content: center; font-size: 22px; width: 1.5em; height: 1.5em; padding: 0; border: 0; border-radius: 3px; background: rgba(0,0,0,.05); color: #494c4f; cursor: pointer; }
/* Thema-stijlen voor button:hover/:focus (Twenty Nineteen) neutraliseren. */
.alc-nav-wrap .alc-nav__toggle:hover,
.alc-nav-wrap .alc-nav__toggle:focus { background-color: rgba(0,0,0,.05); color: #494c4f; outline: 0; }
.alc-nav-wrap .alc-nav__toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.alc-nav__bars, .alc-nav__bars::before, .alc-nav__bars::after { display: block; width: 22px; height: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.alc-nav__bars { position: relative; }
.alc-nav__bars::before, .alc-nav__bars::after { content: ""; position: absolute; left: 0; }
.alc-nav__bars::before { top: -7px; }
.alc-nav__bars::after { top: 7px; }
.alc-nav__toggle[aria-expanded="true"] .alc-nav__bars { background: transparent; }
.alc-nav__toggle[aria-expanded="true"] .alc-nav__bars::before { transform: translateY(7px) rotate(45deg); }
.alc-nav__toggle[aria-expanded="true"] .alc-nav__bars::after { transform: translateY(-7px) rotate(-45deg); }

.alc-nav--dropdown { flex-basis: 100%; width: 100%; margin-top: 10px; background-color: #fff; font-size: 13px; overflow: auto; }
.alc-nav--stretch > .alc-nav--dropdown { position: absolute; top: 100%; left: 0; right: 0; z-index: 9997; }
.alc-nav--dropdown[hidden] { display: none; }
.alc-nav--dropdown li { border: 0 solid transparent; }
.alc-nav--dropdown a { display: flex; align-items: center; justify-content: space-between; padding: 10px 20px; line-height: 20px; border-left: 8px solid transparent; color: #494c4f; text-decoration: none; text-align: left; text-shadow: none; }
.alc-nav--dropdown a:hover,
.alc-nav--dropdown a:focus,
.alc-nav--dropdown .current-menu-item > a { background-color: #55595c; color: #fff; }
.alc-nav--dropdown .sub-menu a { border-left-width: 16px; font-size: .85em; }

@media (max-width: 1024px) {
	.alc-nav-bp--tablet > .alc-nav--main { display: none; }
	.alc-nav-bp--tablet > .alc-nav__toggle { display: flex; }
}
@media (max-width: 767px) {
	.alc-nav-bp--mobile > .alc-nav--main { display: none; }
	.alc-nav-bp--mobile > .alc-nav__toggle { display: flex; }
}
@media (min-width: 1025px) {
	.alc-nav-bp--tablet > .alc-nav--dropdown { display: none; }
}
@media (min-width: 768px) {
	.alc-nav-bp--mobile > .alc-nav--dropdown { display: none; }
}
.alc-nav-bp--none > .alc-nav--dropdown, .alc-nav-bp--none > .alc-nav__toggle { display: none !important; }

/* Posts (cards) */
.elementor-posts-container.elementor-posts--skin-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 30px; row-gap: 0; }
.elementor-posts--skin-cards .elementor-post { display: flex; margin: 0; padding-bottom: 35px; }
.elementor-posts--skin-cards .elementor-post__card { display: flex; flex-direction: column; width: 100%; overflow: hidden; position: relative; background-color: #fff; border-radius: 3px; transition: box-shadow .25s; }
.elementor-posts--skin-cards .elementor-post__thumbnail__link { display: block; width: 100%; position: relative; margin-bottom: 20px; }
.elementor-posts--skin-cards .elementor-post__thumbnail { position: relative; overflow: hidden; padding-bottom: 66%; }
.elementor-posts--skin-cards .elementor-post__thumbnail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .3s; }
.elementor-posts--skin-cards .elementor-post__text { display: flex; flex-direction: column; flex-grow: 1; padding: 0 30px; margin-top: 20px; }
.elementor-posts--skin-cards .elementor-post__title { font-size: 21px; margin: 0 0 25px; }
.elementor-posts--skin-cards .elementor-post__title a { text-decoration: none; color: inherit; }
.elementor-posts--skin-cards .elementor-post__excerpt { margin-bottom: 25px; line-height: 1.7; }
.elementor-posts--skin-cards .elementor-post__excerpt p { margin: 0; font-size: 14px; line-height: 1.5em; color: #777; }
.elementor-posts--skin-cards .elementor-post__read-more { display: inline-block; align-self: flex-start; margin-bottom: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.elementor-posts--skin-cards .elementor-post__meta-data { margin-top: auto; padding: 15px 30px; border-top: 1px solid #eaeaea; font-size: 12px; line-height: 1.3em; color: #adadad; }
.elementor-posts--skin-cards .elementor-post__meta-data span + span:before { content: "•"; margin: 0 5px; }
@media (max-width: 1024px) {
	.elementor-posts-container.elementor-posts--skin-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.elementor-posts-container.elementor-posts--skin-cards { grid-template-columns: minmax(0, 1fr); }
}

/*
 * Globale standaardstijlen per widget, zoals Elementor Pro die vroeger in global.css zette.
 * Instellingen per element (bv. enkel font-family) overschrijven deze; de rest (bv. font-weight)
 * komt van de globale lettertypes en kleuren in de Elementor Kit.
 */
.elementor-widget-nav-menu .alc-nav--main { font-family: var( --e-global-typography-primary-font-family ), Sans-serif; font-weight: var( --e-global-typography-primary-font-weight ); }
.elementor-widget-nav-menu .alc-nav--main a { color: var( --e-global-color-text ); }
.elementor-widget-nav-menu .alc-nav--main a:hover,
.elementor-widget-nav-menu .alc-nav--main .current-menu-item > a,
.elementor-widget-nav-menu .alc-nav--main a:focus { color: var( --e-global-color-accent ); }
.elementor-widget-nav-menu .alc-nav--main a::after { background-color: var( --e-global-color-accent ); }
.elementor-widget-nav-menu .alc-nav--dropdown { font-family: var( --e-global-typography-accent-font-family ), Sans-serif; font-weight: var( --e-global-typography-accent-font-weight ); }

.elementor-widget-posts .elementor-post__title,
.elementor-widget-posts .elementor-post__title a { color: var( --e-global-color-secondary ); font-family: var( --e-global-typography-primary-font-family ), Sans-serif; font-weight: var( --e-global-typography-primary-font-weight ); }
.elementor-widget-posts .elementor-post__meta-data { font-family: var( --e-global-typography-secondary-font-family ), Sans-serif; font-weight: var( --e-global-typography-secondary-font-weight ); }
.elementor-widget-posts .elementor-post__excerpt p { font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); }
.elementor-widget-posts .elementor-post__read-more { color: var( --e-global-color-accent ); font-family: var( --e-global-typography-accent-font-family ), Sans-serif; font-weight: var( --e-global-typography-accent-font-weight ); }

.elementor-widget-theme-post-title .elementor-heading-title { color: var( --e-global-color-primary ); font-family: var( --e-global-typography-primary-font-family ), Sans-serif; font-weight: var( --e-global-typography-primary-font-weight ); }
.elementor-widget-theme-post-excerpt,
.elementor-widget-theme-post-content { color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); }
