h1, h2, h3, h4, h5, h6 {
		font-family: "Lexend", sans-serif;
		color: var(--dark);
}

.custom-font-secondary {
		font-family: "Lexend", sans-serif !important;
}

.custom-font-tertiary {
		font-family: "Playfair Display", serif !important;
}

p {
		line-height: 1.8;
		font-size: 16px;
		font-size: 1rem;
		letter-spacing: -0.015em;
}

.badge {
		font-weight: 500;
		font-family: "Lexend", sans-serif !important;
}

.custom-graph-svg-color-primary {
		fill: var(--primary) !important;
}

.custom-graph-svg-color-secondary {
		fill: var(--secondary) !important;
}

.btn {
		font-family: "Lexend", sans-serif !important;
		padding: 16px 35.2px;
		padding: 1rem 2.2rem;
		font-size: 14.4px;
		font-size: 0.9rem;
		font-weight: 500;
}

.custom-text-color-1 {
		color: #df0b0b;
}

.custom-text-color-2 {
		color: #e3993f;
}

.labelcircle {
	color:#cccccc !important;
	font-size: 4.5rem !important;
	font-family:  Arial, Helvetica, sans-serif;
}

.white {
	color:#FFF !important;
}

@media (min-width: 992px) {
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li > a {
				font-family: "Lexend", sans-serif !important;
				font-size: 17px;
				font-weight: 500;
				letter-spacing: -0.6px;
				color: var(--dark);
		}
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li > a:hover {
				color: var(--primary) !important;
		}
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li > a.active {
				color: var(--dark-rgba-50) !important;
		}
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li.dropdown:not(.dropdown-mega) .dropdown-menu {
				transition: all 300ms;
				opacity: 0;
				transform: translate3d(-5px, 0, 0) !important;
				border: 1px solid var(--grey-200);
				border-radius: var(--border-radius2x) !important;
				overflow: hidden;
				padding-top: 0;
				padding-bottom: 0;
		}
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li.dropdown:not(.dropdown-mega) .dropdown-menu li a {
				padding-top: 12px !important;
				padding-bottom: 12px !important;
				padding-right: 22px !important;
				padding-left: 22px !important;
		}
		#header .header-nav.header-nav-links:not(.header-nav-light-text) nav > ul > li:hover.dropdown:not(.dropdown-mega) .dropdown-menu {
				opacity: 1;
				transform: translate3d(-5px, -10px, 0) !important;
		}
}

/* Mask Image */
.custom-mask-img {
		-webkit-mask-repeat: no-repeat;
						mask-repeat: no-repeat;
		-webkit-mask-size: 100%;
						mask-size: 100%;
		-webkit-mask-position: center;
						mask-position: center;
}

.custom-mask-img-1 {
		-webkit-mask-image: url(../img/generic/mask-image-1.png);
		mask-image: url(../img/generic/mask-image-1.png);
		-webkit-mask-repeat: no-repeat;
						mask-repeat: no-repeat;
		-webkit-mask-size: 100%;
						mask-size: 100%;
		-webkit-mask-position: center;
						mask-position: center;
}

.custom-mask-img-2 {
		-webkit-mask-image: url(../img/generic/mask-image-2.png);
		mask-image: url(../img/generic/mask-image-2.png);
}

.custom-mask-img-3 {
		-webkit-mask-image: url(../img/generic/mask-image-3.png);
		mask-image: url(../img/generic/mask-image-3.png);
}

.custom-mask-img-4 {
		-webkit-mask-image: url(../img/generic/mask-image-4.png);
		mask-image: url(../img/generic/mask-image-4.png);
}

/* Cascading Wrapper */
.custom-cascading-images-wrapper-1 {
		padding: 40% 0% 0 30%;
}

/* Stamp */
.custom-stamp-1 {
		width: 180px;
		height: 180px;
		left: -90px;
		top: 55%;
		border-radius: 50%;
}

.custom-stamp-1 svg {
		position: relative;
		left: 4px;
		top: 1px;
		margin: 2px;
}

.custom-stamp-1:after {
		opacity: 0.2;
		position: absolute;
		content: "";
		width: 105px;
		height: 105px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		border: 1px solid #FFF;
		border-radius: 50%;
		display: block;
}

@media (max-width: 992px) {
		.custom-stamp-1 {
				top: 30%;
				transform: scale(0.4);
		}
}

/* Custom Elements */
.custom-el-1 {
		bottom: 13%;
		right: 7%;
}

@media (max-width: 1200px) {
		.custom-el-1 {
				right: 0;
				bottom: 8%;
		}
}

/* Mobile header: logo and menu button on one line */
@media (max-width: 767px) {
	#header .header-body .row {
		flex-wrap: nowrap;
	}

	#header .header-logo {
		margin: 0;
	}

	#header .header-logo img {
		width: auto;
		height: auto;
		max-width: 205px;
		max-height: 58px;
	}

	#header .header-btn-collapse-nav {
		width: 50px;
		height: 50px;
		min-width: 50px;
		padding: 0 !important;
		margin-left: 12px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	#header .header-btn-collapse-nav i {
		margin: 0;
	}
}

@media (max-width: 767px) {
	.over-specialty-track {
		gap: 16px;
		margin-right: -1rem;
		padding-right: 1rem;
	}

	.over-specialty-card {
		flex-basis: min(82vw, 320px);
		width: min(82vw, 320px);
	}

	.over-specialty-image {
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 575px) {
		.custom-el-1 {
				bottom: 0;
		}
}

.custom-el-1 p {
		font-size: clamp(35px, -1.6666666667px + 0.0763888889 * 100vw, 90px);
		letter-spacing: -5px;
		position: relative;
		z-index: 1;
		margin: 0;
		line-height: 1;
		font-weight: bold;
}

@media (max-width: 991px) {
		.custom-el-1 p {
				letter-spacing: -2px;
		}
}

.custom-el-1 em {
		font-size: clamp(18px, 11.3333333333px + 0.0138888889 * 100vw, 28px);
		position: relative;
		bottom: 2px;
		display: inline-flex;
		letter-spacing: -2px;
}

.custom-el-1 em mark {
		padding: 0 7px 5px !important;
}

@media (max-width: 991px) {
		.custom-el-1 em {
				bottom: 5px;
				right: -1px;
		}
}

.custom-el-2 {
		position: absolute;
		width: 100%;
		height: 100%;
}

.custom-el-2 img {
		height: 150%;
		min-width: 1200px !important;
		min-height: 1200px !important;
}

@media (max-width: 1400px) {
		.custom-el-2 img {
				min-height: 1500px !important;
		}
}

.custom-el-3 {
		position: absolute;
		width: 100%;
		height: 100%;
		transform: rotateY(180deg);
}

.custom-el-3 img {
		height: 100%;
		min-width: 1200px !important;
		min-height: 1200px !important;
}

.custom-el-4 svg {
		width: 100%;
}

.custom-el-5 {
		position: absolute;
		width: 100%;
		height: 100%;
}

.custom-el-5 img {
		height: 100%;
		min-width: 1000px !important;
		min-height: 1000px !important;
}

@media (min-width: 992px) {
		.custom-el-6 {
				margin-bottom: -70px;
				margin-left: 7px;
		}
}

.custom-el-7 {
		max-height: 32px;
		width: auto !important;
		max-width: 150px !important;
		transform: none !important;
}

/* Custom Pos */
.custom-pos-1 {
		right: -37%;
		top: -33%;
}

.custom-pos-2 {
		left: -75%;
		top: -33%;
}

.custom-pos-3 {
		margin-top: -80px;
}

.custom-pos-4 {
		right: -40%;
		top: -57%;
}

.custom-pos-5 {
		top: -85%;
}

.custom-pos-6 {
		left: -75%;
		bottom: -10%;
}

/* Gradient */
.custom-bg-gradient-1 {
		background-image: linear-gradient(to right, var(--secondary-rgba-30) 30%, var(--dark) 200%) !important;
}

@media (max-width: 991px) {
		.custom-bg-gradient-1 {
				border-radius: 0 !important;
		}
}

/* Homepage helpers */
.yellowtext {
	color: #fef200;
}

.subtitel {
	color: #333;
	font-size: 14px;
	font-style: italic;
}

/* Homepage hero */
.home-hero,
.home-hero-row {
	min-height: 680px;
}

.home-hero-copy,
.home-hero-media {
	position: relative;
	z-index: 2;
}

.about-secondary-image {
	top: -8%;
	left: -18%;
	width: 78% !important;
}

.about-proof-badge {
	bottom: 5%;
	left: -18%;
	z-index: 3;
}

@media (max-width: 991px) {
	.home-hero,
	.home-hero-row {
		min-height: 0;
	}

	.home-hero-row {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}

	.home-hero-copy {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.home-hero-media {
		margin-top: 3rem;
	}

	.custom-cascading-images-wrapper-1 {
		padding: 25% 7% 5% 18%;
	}

	.about-secondary-image {
		left: -12%;
	}

	.about-proof-badge {
		left: -6%;
		max-width: calc(100% - 1rem);
	}
}

@media (max-width: 767px) {
	.home-hero-row {
		padding-top: 2.5rem;
		padding-bottom: 3rem;
	}

	.home-hero h1 {
		font-size: clamp(2.4rem, 11vw, 4rem) !important;
	}

	.home-hero .btn-with-arrow-solid {
		display: inline-flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		max-width: 340px;
		padding: 0.9rem 1rem !important;
		background-color: var(--dark) !important;
		color: #FFF !important;
	}

	.home-hero .btn-with-arrow-solid strong {
		margin-right: 0.9rem !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		white-space: nowrap;
		text-align: left;
		color: #FFF !important;
		font-size: 1rem !important;
	}

	.home-hero .btn-with-arrow-solid > span {
		flex: 0 0 42px;
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background-color: var(--primary) !important;
		box-shadow: none !important;
	}

	.home-hero .btn-with-arrow-solid > span i {
		font-size: 0.85rem;
		color: var(--dark) !important;
	}

	.home-hero .custom-stamp-1 {
		display: none;
	}

	.topdeals-combine-link {
		align-items: flex-start;
		text-align: left;
	}

	.topdeals-combine-link img {
		flex: 0 0 auto;
		margin-top: 3px;
	}

	.about-secondary-image {
		display: none;
	}

	#intro .col-lg-6.text-center {
		padding-top: 2rem !important;
		padding-bottom: 3rem !important;
	}

	.custom-cascading-images-wrapper-1 {
		padding: 0 8%;
		margin-top: 2.25rem;
	}

	.custom-cascading-images-wrapper-1 .cascading-images {
		transform: none;
	}

	.custom-cascading-images-wrapper-1 .custom-mask-img-2 {
		max-width: 100%;
		margin: 0 auto;
	}

	.about-proof-badge {
		position: relative !important;
		left: auto;
		bottom: auto;
		margin: 1rem auto 0;
		width: fit-content;
		max-width: 100%;
		justify-content: center;
		text-align: left;
		padding: 0.85rem 1rem !important;
		font-size: 0.95rem !important;
		white-space: nowrap;
	}

	.about-proof-label,
	.about-proof-separator {
		display: none;
	}

	.about-proof-text {
		white-space: nowrap;
	}
}

@media (max-width: 575px) {
	.home-hero-media {
		margin-top: 2.25rem;
	}

	.custom-stamp-1 {
		left: -70px;
	}

	.custom-el-1 {
		right: 0;
		bottom: -2%;
	}

	.custom-el-1 em {
		font-size: 17px;
		letter-spacing: -1px;
	}

}

/* Make hover-only product actions usable on touch devices. */
@media (hover: none), (pointer: coarse) {
	.thumb-info.thumb-info-show-hidden-content-hover .thumb-info-content-inner,
	.thumb-info.thumb-info-show-hidden-content-hover:hover .thumb-info-content-inner {
		transform: none;
	}

	.thumb-info.thumb-info-show-hidden-content-hover .thumb-info-content-inner .thumb-info-content-inner-hidden {
		position: static !important;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		opacity: 1;
		padding-top: 1rem !important;
		padding-bottom: 0 !important;
	}

	.thumb-info.thumb-info-show-hidden-content-hover .thumb-info-content-inner-hidden .btn {
		position: static !important;
		transform: none !important;
		flex: 0 0 auto;
	}
}



/* =========================================================
   Beurscondities
   Paginaspecifieke regels. Bestaande gedeelde regels blijven
   bewust ongewijzigd.
========================================================= */

.beurs-page-header .beurs-header-image img {
	display: block;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
}

.beurs-intro p {
	line-height: 1.75;
}

.beurs-deals-subtitle {
	max-width: 500px;
	color: var(--grey-600);
}

.beurs-deal-card {
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.beurs-deal-image-link {
	display: block;
	overflow: hidden;
}

.beurs-deal-image {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 250ms ease;
}

.beurs-deal-card h3 {
	line-height: 1.25;
}

.beurs-deal-card .card-text {
	line-height: 1.65;
}

@media (hover: hover) and (pointer: fine) {
	.beurs-deal-card:hover {
		transform: translateY(-6px);
	}

	.beurs-deal-card:hover .beurs-deal-image {
		transform: scale(1.025);
	}
}

@media (max-width: 991px) {
	.beurs-page-header .custom-el-6 {
		margin-bottom: 0;
		margin-left: 0;
	}

	.beurs-bottom-cta .rounded-pill {
		border-radius: 0 !important;
	}

	.beurs-bottom-cta-link {
		width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.beurs-bottom-cta-link + .beurs-bottom-cta-link {
		border-top: 1px solid var(--light-rgba-20);
	}
}

@media (max-width: 767px) {
	.beurs-page-header {
		text-align: center;
	}

	.beurs-page-header .breadcrumb {
		justify-content: center;
	}

	.beurs-page-header .beurs-header-image img {
		max-width: 320px;
		margin-right: auto;
	}

	.beurs-intro {
		padding-top: 1.5rem !important;
		padding-bottom: 2.25rem !important;
	}

	.beurs-intro h2 {
		font-size: clamp(2rem, 9vw, 3rem) !important;
	}

	.beurs-intro p {
		font-size: 1.05rem !important;
		line-height: 1.7;
	}

	.beurs-deals-section .container {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	.beurs-deals-subtitle {
		text-align: left !important;
	}

	.beurs-deal-card .card-body {
		padding: 1.25rem !important;
	}

	.beurs-deal-card h3 {
		font-size: 1.35rem !important;
	}

	.beurs-deal-card .card-text {
		font-size: 1rem !important;
	}

	.beurs-bottom-cta {
		margin-top: 2rem !important;
	}
}

@media (max-width: 575px) {
	.beurs-page-header {
		margin-bottom: 1.5rem !important;
	}

	.beurs-page-header .container {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.beurs-page-header h1 {
		font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
	}

	.beurs-page-header .beurs-header-image img {
		max-width: 280px;
	}

	.beurs-deals-section {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}

	.beurs-deal-image {
		aspect-ratio: 16 / 9;
	}

	.beurs-bottom-cta .btn {
		width: 100%;
		justify-content: center;
	}
}


/* =========================================================
   Over ons
   Paginaspecifieke regels. Bestaande gedeelde regels blijven
   bewust ongewijzigd.
========================================================= */

.over-page-header .over-header-image img {
	display: block;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
}

.over-intro p,
.over-experience p {
	line-height: 1.75;
}

.over-specialty-track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 4px 14px;
	margin-left: -4px;
	margin-right: -4px;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x;
	overscroll-behavior-inline: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
	user-select: none;
}

.over-specialty-track.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.over-specialty-track img {
	-webkit-user-drag: none;
	user-drag: none;
	pointer-events: none;
}

.over-specialty-track::-webkit-scrollbar {
	display: none;
}

.over-specialty-card {
	flex: 0 0 290px;
	width: 290px;
	scroll-snap-align: start;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.over-specialty-image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.over-specialty-card h3 {
	line-height: 1.2;
}

.over-specialties-tagline {
	gap: 0.25rem;
}

@media (hover: hover) and (pointer: fine) {
	.over-specialty-card:hover {
		transform: translateY(-5px);
	}
}

@media (max-width: 991px) {
	.over-page-header .custom-el-6 {
		margin-bottom: 0;
		margin-left: 0;
	}

	.over-bottom-cta .rounded-pill {
		border-radius: 0 !important;
	}

	.over-bottom-cta-link {
		width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.over-bottom-cta-link + .over-bottom-cta-link {
		border-top: 1px solid var(--light-rgba-20);
	}
}

@media (max-width: 767px) {
	.over-page-header {
		text-align: center;
	}

	.over-page-header .breadcrumb {
		justify-content: center;
	}

	.over-page-header .over-header-image img {
		max-width: 320px;
		margin-right: auto;
	}

	.over-intro {
		padding-top: 1.5rem !important;
		padding-bottom: 2.25rem !important;
	}

	.over-intro h2,
	.over-experience h2 {
		font-size: clamp(2rem, 9vw, 3rem) !important;
	}

	.over-intro p,
	.over-experience p {
		font-size: 1.05rem !important;
	}

	.over-specialties .container {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}

	.over-specialties-tagline {
		justify-content: flex-start !important;
		text-align: left;
	}

	.over-bottom-cta {
		margin-top: 2rem !important;
	}
}

@media (max-width: 575px) {
	.over-page-header {
		margin-bottom: 1.5rem !important;
	}

	.over-page-header .container {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.over-page-header h1 {
		font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
	}

	.over-page-header .over-header-image img {
		max-width: 280px;
	}

	.over-specialties {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}

	.over-specialty-card .p-4 {
		padding: 1.25rem !important;
	}

	.over-specialty-card h3 {
		font-size: 1.35rem !important;
	}

	.over-bottom-cta .btn {
		width: 100%;
		justify-content: center;
	}
}

/* Mobiel: extra ruimte voor accordion-pijl zodat tekst niet overlapt */
@media (max-width: 575px) {
	.over-experience .accordion-toggle {
		display: block;
		padding-right: 4rem !important;
		line-height: 1.35;
	}
}


/* =========================================================
   Producten
   Paginaspecifieke regels. De Topdeals-kaarten gebruiken
   bewust dezelfde styling als beurscondities.php.
========================================================= */

.producten-page-header .producten-header-image img {
	display: block;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
}

.producten-intro p {
	line-height: 1.75;
}

@media (max-width: 991px) {
	.producten-page-header .custom-el-6 {
		margin-bottom: 0;
		margin-left: 0;
	}

	.producten-bottom-cta .rounded-pill {
		border-radius: 0 !important;
	}

	.producten-bottom-cta-link {
		width: 100%;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.producten-bottom-cta-link + .producten-bottom-cta-link {
		border-top: 1px solid var(--light-rgba-20);
	}
}

@media (max-width: 767px) {
	.producten-page-header {
		text-align: center;
	}

	.producten-page-header .breadcrumb {
		justify-content: center;
	}

	.producten-page-header .producten-header-image img {
		max-width: 320px;
		margin-right: auto;
	}

	.producten-intro {
		padding-top: 1.5rem !important;
		padding-bottom: 2.25rem !important;
	}

	.producten-intro p {
		font-size: 1.05rem !important;
		line-height: 1.7;
	}

	.producten-bottom-cta {
		margin-top: 2rem !important;
	}
}

@media (max-width: 575px) {
	.producten-page-header {
		margin-bottom: 1.5rem !important;
	}

	.producten-page-header .container {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.producten-page-header h1 {
		font-size: clamp(2.35rem, 11vw, 3.25rem) !important;
	}

	.producten-page-header .producten-header-image img {
		max-width: 280px;
	}

	.producten-bottom-cta .btn {
		width: 100%;
		justify-content: center;
	}
}
