/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


html {
    overflow:auto;
}
body {
    overflow:hidden;
}
ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
    border-left:none !important;
}

/*== Sticky header ==*/
/* Changes the header to not be sticky when editing (doesn't show in the front end) */
body.elementor-editor-active #stickyheader {
    position:inherit;
}
/* sticky effects*/
#stickyheader .elementor-widget-wrap {
    transition: all 0.5s ease;
}

#stickyheader.elementor-sticky--effects {
    background-color:rgba(255, 254, 247, 0.95) !important;
    transition: all 0.5s ease;
    box-shadow:0 0 10px rgba(0,0,0,0.3);
}
#stickyheader .e-con-inner {
    transition: all 0.5s ease;
}
#stickyheader.elementor-sticky--effects .e-con-inner {
    padding-top:20px;
    padding-bottom:20px;
}
/* --- LOGO ---- */
/* Logo sizing before sticky */
.logo img {
    max-height:200px;
    transition: all 0.5s ease;
}
/* Logo sizing after sticky */
#stickyheader.elementor-sticky--effects .logo img {
    max-width: 220px;
}
#stickyheader.elementor-sticky--effects nav a {
    color:;
}
 /*== Einde sticky header ==*/ 





::selection{
	background: #F4DD0E;
	color: #090906;
}

/*== Knoppen: icoon draait bij hover (alle Elementor-knoppen met een icoon) ==*/
.elementor-button .elementor-button-content-wrapper {
	align-items: center; /* tekst en (grotere) icoon verticaal gecentreerd */
}
.elementor-button .elementor-button-icon {
	display: inline-flex;
	font-size: 1.8em; /* icoon 1,5x groter */
	line-height: 1;
	transition: transform 0.8s;
}
.elementor-button:hover .elementor-button-icon {
	transform: rotate(145deg);
}

/* Secundaire knop: class "knop-secundair" (Geavanceerd > CSS-klassen). Icoon licht, bij hover/klikken/focus de eigen (donkere) kleur. */
.knop-secundair .elementor-button-icon svg * {
	transition: fill 0.3s;
}
.knop-secundair .elementor-button:not(:hover):not(:active):not(:focus) .elementor-button-icon svg *:not([fill="none"]) {
	fill: #FFFEF7;
}
.knop-secundair .elementor-button:not(:hover):not(:active):not(:focus) .elementor-button-icon i {
	color: #FFFEF7;
}




/*== Rolluik: zakt over de container bij scrollen ==*/
/* class "zonwering" op de container zelf, of "herotest" op de container eromheen */
.zonwering,
.herotest > .e-con {
	position: relative;
	overflow: clip; /* geen hidden: dat maakt er een eigen scrollvlak van */
	view-timeline-name: --zonwering;
}
.zonwering::after,
.herotest > .e-con::after { /* het rolluik, over alle inhoud heen; ::before is van Elementor (overlay) */
	content: "";
	position: absolute;
	inset: 0;
	z-index: 99;
	pointer-events: none;
	/* lamel: bolle vorm met glans, donkere naad met een open spleet (de achtergrond schijnt erdoor) */
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .08), transparent 12%, transparent 88%, rgba(0, 0, 0, .08)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='30'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23a4a9ae'/%3E%3Cstop offset='.1' stop-color='%23e2e5e8'/%3E%3Cstop offset='.28' stop-color='%23d3d7db'/%3E%3Cstop offset='.65' stop-color='%23bcc1c6'/%3E%3Cstop offset='.9' stop-color='%23a5aab0'/%3E%3Cstop offset='1' stop-color='%23959aa0'/%3E%3C/linearGradient%3E%3ClinearGradient id='n' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23696e74'/%3E%3Cstop offset='1' stop-color='%23868b91'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='44' height='26' fill='url(%23g)'/%3E%3Cpath fill-rule='evenodd' fill='url(%23n)' d='M0 26H44V30H0Z M8 27.1H32Q33 28 32 28.9H8Q7 28 8 27.1Z'/%3E%3C/svg%3E") 0 0 / 44px 30px;
	/* onderlat */
	border-style: solid;
	border-width: 0 0 16px;
	border-image: linear-gradient(#a9aeb3, #e4e7ea 20%, #c3c8cc 55%, #8e9399 90%, #6f747a) 1;
	filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .3)); /* schaduw onder het rolluik */
	transform: translateY(calc(-100% + 46px)); /* bij binnenkomst hangt er een lamel + onderlat */
}
@supports (animation-timeline: view()) {
	.zonwering::after,
	.herotest > .e-con::after {
		animation: rolluik-zakken linear both;
		animation-timeline: --zonwering;
		animation-range: entry 20% cover 55%; /* begin en einde van het zakken */
	}
	.herotest > .e-con::after { /* hero bovenaan de pagina: zakt vanaf het eerste scrollen */
		animation-timeline: scroll(root);
		animation-range: 0px 60vh; /* helemaal beneden na 60% schermhoogte scrollen */
	}
}
@keyframes rolluik-zakken {
	from { transform: translateY(calc(-100% + 46px)); }
	to   { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.zonwering::after,
	.herotest > .e-con::after {
		animation: none;
	}
}

/*== Menu (WordPress-menu widget): dropdown even breed als de container met class "headerbreedte" ==*/
/* Mobiel portret, mobiel landschap en tablet portret (t/m 1024px, waar de hamburger zichtbaar is). */
@media (max-width: 1024px) {
	.headerbreedte {
		position: relative; /* hier hangt de dropdown aan */
	}
	.headerbreedte .e-con:has(> .elementor-widget-nav-menu),
	.headerbreedte .elementor-widget-nav-menu,
	.headerbreedte .elementor-widget-nav-menu > .elementor-widget-container {
		position: static; /* anders hangt de dropdown aan het menu zelf */
	}
	.headerbreedte .elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		position: absolute;
		top: 100% !important; /* direct onder de headerbalk */
		left: 0 !important; /* overschrijft de positie en breedte die Elementor bij "Uitrekken" met JavaScript zet */
		right: auto !important;
		width: 100% !important;
		z-index: 9997;
	}
}

/*== Menu (desktop): streepje onder het actieve hoofditem dat naar een aangeklikt item schuift (js/menu-streepje.js) ==*/
.elementor-nav-menu--main:has(> .menu-streepje) {
	position: relative;
}
.elementor-nav-menu--main > .menu-streepje {
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	height: 2px;
	margin-top: 4px; /* afstand onder de tekst */
	border-radius: 2px;
	pointer-events: none;
	opacity: 0;
	transition: transform 0.35s ease, width 0.35s ease, opacity 0.2s;
}
.elementor-nav-menu--main > .menu-streepje.is-zichtbaar {
	opacity: 1;
}
.elementor-nav-menu--main > .menu-streepje.zonder-animatie {
	transition: none;
}
@media (prefers-reduced-motion: reduce) {
	.elementor-nav-menu--main > .menu-streepje {
		transition: none;
	}
}

/*== Contactpagina (pagina 26): contactblok in de footer verbergen ==*/
.page-id-26 .contactfooter {
	display: none;
}

/*== Loop grid: items niet breder laten worden dan hun kolom ==*/
/* Een carrousel (Swiper) in een loop-item is van zichzelf zo breed als al zijn slides naast elkaar;
   zonder min-width: 0 duwt dat de grid-kolom op tot duizenden pixels breed. */
.elementor-loop-container > .e-loop-item {
	min-width: 0;
}

/*== Projecten (loop-template 2518): alle kaarten even hoog ==*/
.elementor-2518 .elementor-image-carousel .swiper-slide-image {
	width: 100%;
	height: 450px;
	object-fit: cover; /* bijsnijden in plaats van uitrekken */
}
/* Pijltjes van de carrousel boven de overlay, zodat ze klikbaar blijven */
.elementor-2518 .elementor-widget-image-carousel .elementor-swiper-button.elementor-swiper-button {
	z-index: 10;
}

/*== Kruimelpad (Rank Math): licht, links geel bij hover ==*/
nav.rank-math-breadcrumb,
nav.rank-math-breadcrumb a,
nav.rank-math-breadcrumb .separator,
nav.rank-math-breadcrumb .last {
	color: #FFFEF7;
}
nav.rank-math-breadcrumb a {
	transition: color 0.2s;
}
nav.rank-math-breadcrumb a:hover,
nav.rank-math-breadcrumb a:focus-visible {
	color: #F4DD0E;
}

/*== Gele knop: class "knop-geel" (Geavanceerd > CSS-klassen) ==*/
/* Zelfde geel als de standaardknop van de huisstijl; overschrijft kleuren die per knop in Elementor zijn ingesteld. */
.knop-geel .elementor-button {
	background-color: #F4DD0E !important;
	border-color: #F4DD0E !important;
	color: #333227 !important;
}
.knop-geel .elementor-button:hover,
.knop-geel .elementor-button:focus {
	/* bij hover dezelfde kleur houden, ook als er per knop een andere hoverkleur is ingesteld */
	background-color: #F4DD0E !important;
	border-color: #F4DD0E !important;
	color: #333227 !important;
}
.knop-geel .elementor-button svg {
	fill: #333227;
}

/*== Galerij op landingspagina's (class "galerijlandingspagina"): alle foto's 400px hoog, bedekken ==*/
.elementor-widget-image-gallery.galerijlandingspagina .gallery-item .gallery-icon a {
	display: block;
}
.elementor-widget-image-gallery.galerijlandingspagina .gallery-item img {
	display: block;
	width: 100%;
	height: 400px;
	object-fit: cover; /* bijsnijden in plaats van uitrekken */
}

/*== Icoonlijsten op landingspagina's (class "icoonlijstlanding"): iconen geel ==*/
.icoonlijstlanding .elementor-icon-list-icon,
.icoonlijstlanding .elementor-icon-list-icon i,
.icoonlijstlanding .so-ew-icon-list__icon,
.icoonlijstlanding .so-ew-icon-list__icon i {
	color: #FFDD00 !important;
}
.icoonlijstlanding .elementor-icon-list-icon svg,
.icoonlijstlanding .elementor-icon-list-icon svg *:not([fill="none"]),
.icoonlijstlanding .so-ew-icon-list__icon svg,
.icoonlijstlanding .so-ew-icon-list__icon svg *:not([fill="none"]) {
	fill: #FFDD00 !important; /* ook voor geüploade SVG's met een eigen kleur erin */
}
/* Bij hover over een regel: icoon dezelfde kleur als de tekst bij hover */
.icoonlijstlanding .elementor-icon-list-icon svg *:not([fill="none"]),
.icoonlijstlanding .so-ew-icon-list__icon svg *:not([fill="none"]) {
	transition: fill 0.3s;
}
.icoonlijstlanding .elementor-icon-list-item:hover .elementor-icon-list-icon,
.icoonlijstlanding .elementor-icon-list-item:hover .elementor-icon-list-icon i,
.icoonlijstlanding .so-ew-icon-list__item:hover .so-ew-icon-list__icon,
.icoonlijstlanding .so-ew-icon-list__item:hover .so-ew-icon-list__icon i {
	color: #D6A104 !important;
}
.icoonlijstlanding .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.icoonlijstlanding .elementor-icon-list-item:hover .elementor-icon-list-icon svg *:not([fill="none"]),
.icoonlijstlanding .so-ew-icon-list__item:hover .so-ew-icon-list__icon svg,
.icoonlijstlanding .so-ew-icon-list__item:hover .so-ew-icon-list__icon svg *:not([fill="none"]) {
	fill: #D6A104 !important;
}

/*== Gevulde knoppen: bij hover/focus dezelfde kleur houden (js/knop-hover.js zet de kleur van de knop vast) ==*/
.elementor-button.knop-vaste-kleur:hover,
.elementor-button.knop-vaste-kleur:focus {
	background-color: var(--knop-bg) !important;
	border-color: var(--knop-rand) !important;
	color: var(--knop-tekst) !important;
}
