/* 
 Theme Name:    Bright8
 Author:        Bright8
 Author URI:    www.bright8.nl
 Template:      Divi
 Version:       1.1.0
*/ 


/* ----------- PUT YOUR CUSTOM CSS BELOW THIS LINE -- DO NOT EDIT ABOVE THIS LINE --------------------------- */ 

/* ----- Design System ----- */
/* Fonts & Styling */
:root {
	/* Fonts */
	--font-family-global-body: 'Averta STD', arial, sans-serif;
	--font-family-global-headings: "aktiv-grotesk-extended", arial, sans-serif;
	
	/* Font Sizes */
	--font-size-h1: clamp(2.25rem, calc(0.014423 * (100vw - 768px) + 38px), 3.125rem);
    --font-size-h2: clamp(2rem, calc(0.012019 * (100vw - 768px) + 32px), 2.625rem);
    --font-size-h3: clamp(1.625rem, calc(0.009615 * (100vw - 768px) + 26px), 2.125rem);
    --font-size-h4: clamp(1.375rem, calc(0.004808 * (100vw - 768px) + 22px), 1.625rem);
    --font-size-h5: clamp(1.25rem, calc(0.002404 * (100vw - 768px) + 20px), 1.375rem);
    --font-size-h6: clamp(1rem, calc(0.002404 * (100vw - 768px) + 16px), 1.125rem);
    --font-size-body: clamp(1rem, calc(0.002404 * (100vw - 768px) + 16px), 1.125rem);
    --font-size-meta: clamp(0.875rem, calc(0.002404 * (100vw - 768px) + 14px), 1rem);
	--font-size-button: clamp(1.125rem, calc(0.002404 * (100vw - 768px) + 18px), 1.25rem);
	
	/* Font Styling */
	--line-height-global-headings: 1.1em;
	--line-height-global-body: 1.4em;
	--font-weight-global-headings: 700;
	--letter-spacing-global-headings: -2%;
}

/* Colors */
:root {
	--navy: #0C0C31;
	--white: #FFFFFF;
	--indigo: #3239CB;
	--pink: #FF346E;
	--orange: #F3836F;
	--yellow: #EECB48;
	--green: #31AB8E;
	--indigo-tint: #A3A7E4;
	--pink-tint: #FEA5BD;
	--orange-tint: #F9C6BE;
	--yellow-tint: #F7E7B1;
	--green-tint: #A4D8CC;
	--indigo-shade: #1D007F;
	--pink-shade: #A32246;
	--orange-shade: #9B5348;
	--yellow-shade: #958348;
	--green-shade: #216D5B;
}


/* ----- Font Styles ----- */
/* General */
body, p, a, li {
	font-family: var(--font-family-global-body);

}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family-global-headings) !important;
	font-weight: var(--font-weight-global-headings);
	letter-spacing: var(--letter-spacing-global-headings);
}

h6 {
	text-transform: uppercase;
}

p a {
	text-decoration: underline;
}

p a:hover {
	text-decoration: none;
}

/* List Styling */
h1:has(+ p), h1:has(+ ul), h1:has(+ ol), h1:has(+ h2), h1:has(+ h3), h1:has(+ h4), h1:has(+ h5), h1:has(+ h6), 
h2:has(+ p), h2:has(+ ul), h2:has(+ ol), h2:has(+ h1), h2:has(+ h3), h2:has(+ h4), h2:has(+ h5), h2:has(+ h6),
h3:has(+ p), h3:has(+ ul), h3:has(+ ol), h3:has(+ h1), h3:has(+ h2), h3:has(+ h4), h3:has(+ h5), h3:has(+ h6),
h4:has(+ p), h4:has(+ ul), h4:has(+ ol), h4:has(+ h1), h4:has(+ h2), h4:has(+ h3), h4:has(+ h5), h4:has(+ h6),
h5:has(+ p), h5:has(+ ul), h5:has(+ ol), h5:has(+ h1), h5:has(+ h2), h5:has(+ h3), h5:has(+ h4), h5:has(+ h6),
h6:has(+ p), h6:has(+ ul), h6:has(+ ol), h6:has(+ h1), h6:has(+ h2), h6:has(+ h3), h6:has(+ h4), h6:has(+ h5) {
	padding-bottom: 5px;
}

p:has(+ h1), p:has(+ h2), p:has(+ h3), p:has(+ h4), p:has(+ h5), p:has(+ h6),
ul:has(+ h1), ul:has(+ h2), ul:has(+ h3), ul:has(+ h4), ul:has(+ h5), ul:has(+ h6),
ol:has(+ h1), ol:has(+ h2), ol:has(+ h3), ol:has(+ h4), ol:has(+ h5), ol:has(+ h6){
	padding-bottom: 1.5em !important;
}

#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul {
	padding-bottom: 0;
	padding-left: 1.2em;
}

p:has(+ ul), p:has(+ ol) {
	padding-bottom: 5px !important;
}

ul:has(+ p), ol:has(+ p) {
	padding-bottom: 1em !important;
}

.et_pb_text.et_pb_module ul li a {
	text-decoration: underline;
}

.et_pb_text.et_pb_module ul li a:hover {
	text-decoration: none;
}


/* ----- Buttons ----- */
/* General */
.et_pb_button.eo_btn {
	font-family: var(--font-family-global-headings);
	font-weight: var(--font-weight-global-headings);
	font-size: var(--font-size-button);
	line-height: 1em !important;
	letter-spacing: var(--letter-spacing-global-headings);
	padding: 17.5px 40px !important;
	border: none;
	border-radius: 0;
}

.et_pb_button.eo_btn:hover {
	padding: 17.5px 40px !important;
	border: none;
}

/* Dark (text color) */
.et_pb_button.et_pb_bg_layout_light.eo_btn {
	color: var(--white);
	background-color: var(--pink);
	position: relative;
	z-index: 1;
}

.et_pb_button.et_pb_bg_layout_light.eo_btn::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: var(--pink-tint);
	transform: scale(0) rotate(0) skewX(0);
	opacity: 0;
	z-index: -1;
	transition: transform 0.25s ease, opacity 0.25s ease;
	mix-blend-mode: darken;
}

.et_pb_button.et_pb_bg_layout_light.eo_btn:hover::before {
	transform: scale(1.05) rotate(-4deg) skewX(-4deg);
	opacity: 0.7;
}

/* Light (text color) */
.et_pb_button.et_pb_bg_layout_dark.eo_btn {
	color: var(--white);
	background-color: var(--indigo);
	position: relative;
	z-index: 1;
}

.et_pb_button.et_pb_bg_layout_dark.eo_btn::before {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: var(--indigo-tint);
	transform: scale(0) rotate(0) skewX(0);
	opacity: 0;
	z-index: -1;
	transition: transform 0.25s ease, opacity 0.25s ease;
	mix-blend-mode: darken;
}

.et_pb_button.et_pb_bg_layout_dark.eo_btn:hover::before {
	transform: scale(1.05) rotate(4deg) skewX(4deg);
	opacity: 0.7;
}

/* ALT Dark (text color) */
.et_pb_button.et_pb_bg_layout_light.eo_btn_alt {
	color: var(--navy);
	background-color: transparent;
	outline: 3px solid var(--navy);
	outline-offset: -3px;
}

.et_pb_button.et_pb_bg_layout_light.eo_btn.eo_btn_alt::before {
	display: none;
}

.et_pb_button.et_pb_bg_layout_light.eo_btn_alt:hover {
	color: var(--white);
	background-color: var(--navy);
}

/* ALT Light (text color) */
.et_pb_button.et_pb_bg_layout_dark.eo_btn_alt {
	color: var(--white);
	background-color: transparent;
	outline: 3px solid var(--white);
	outline-offset: -3px;
}

.et_pb_button.et_pb_bg_layout_dark.eo_btn.eo_btn_alt::before {
	display: none;
}

.et_pb_button.et_pb_bg_layout_dark.eo_btn_alt:hover {
	color: var(--navy) !important;
	background-color: var(--white);
}



/* ----- General ----- */
/* Max website width */
.et_pb_section {
	max-width: 2200px !important;
	margin: 0 auto;
}

/* Last element in text module */
.et_pb_text_inner *:last-child {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}


/* ----- Menu ----- */
/* Show hamburger menu on desktop */
@media (min-width: 980px) {

	.et_pb_menu .et_pb_menu__menu,
	.et_pb_fullwidth_menu .et_pb_menu__menu {
		display: none;
	}

	.et_pb_menu .et_mobile_nav_menu,
	.et_pb_fullwidth_menu .et_mobile_nav_menu {
		display: flex;
		float: none;
		margin: 0;
		align-items: center;
	}
}

/* Menu container */
.menu-home .mobile_nav {
	position: relative;
	background: transparent;
}

/* Paarse vorm achter hamburger */
.menu-home .mobile_nav::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 72px;
	background: var(--indigo-shade);
	clip-path: polygon(0 0, 100% 0, 100% 80%, 0 100%);
	z-index: 0;
}

/* Hamburger / close button */
.menu-home .mobile_menu_bar {
	position: relative;
	z-index: 100;
	width: 60px;
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

/* Dropdown paneel */
.menu-home .et_mobile_menu {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	width: min(310px, 90vw);
	padding: 72px 20px 20px;
	border-top: 0 !important;
	background: var(--indigo-shade);
	z-index: 10;
}

/* Geen bullets */
.menu-home .et_mobile_menu li {
	list-style: none;
}

/* Menu links */
.menu-home .et_mobile_menu li a {
	text-align: left;
}

/* Hamburger wordt kruis wanneer menu open is */
.menu-home .mobile_nav.opened .mobile_menu_bar::before {
	content: "×";
	font-family: Arial, sans-serif;
	font-size: 32px;
	font-weight: 300;
}

/* ----- Video Player ----- */
.video-home::before {
	content: "";
	position: absolute;
	inset: -40px;
	background: #A3A7E4;
	clip-path: polygon(
		0 19%,
		100% 0,
		100% 84.2%,
		0 100%
	);
	opacity: 0.7;
	z-index: -1;
	mix-blend-mode: color;
}

/* ----- Overlay Style elements ----- */
/* MAP OVERLAY */
.overlay-map {
	position: relative;
	overflow: hidden;
}

.overlay-map::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 35%;
	height: 100%;

	background-image: url("/wp-content/uploads/2026/10/amsterdam_map.svg");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 100%;
	opacity: 0.7;

	pointer-events: none;
	z-index: 0;
}

/* CROSSES OVERLAY */
.overlay-crosses,
.overlay-crosses-footer {
	position: relative;
}

.overlay-crosses::before {
	content: "";
	position: absolute;
	width: 350px;
	height: 350px;
	left: 30px;
	top: 40px;

	background-image: url("/wp-content/uploads/2026/10/XXX.svg");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.5;
	
	pointer-events: none;
	z-index: 0;
}

.overlay-crosses-footer::before {
	content: "";
	position: absolute;
	width: 280px;
	height: 280px;
	left: 30px;
	top: 30px;

	background-image: url("/wp-content/uploads/2026/10/XXX.svg");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.5;
	
	pointer-events: none;
	z-index: 0;
}

/* ----- Speakers ----- */
/* Pop-Up */
.speaker-template-default #modal-content .container {
	width: 100% !important;
	max-width: 100% !important;
}

/* Geen witte strook onder speaker popup */
body.speaker-template-default,
.speaker-template-default #modal-content,
.speaker-template-default #page-container,
.speaker-template-default #main-content,
.speaker-template-default #et-boc {
	background: var(--navy) !important;
}

@media (min-width: 980px) and (max-width: 1296px) {
  .dp_dfg_filtergrid_0-popup .mfp-content {
    position: absolute !important;
    top: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    width: 95% !important;
  }
}

.dp-dfg-popup-modal .mfp-close {
	top: 60px !important;
	right: 40px !important;
	color: car (--white: #FFFFFF;);
}

/* Speaker afbeelding */
.speakers .dp-dfg-image {
	height: 280px;
	overflow: hidden;
}

.speakers .dp-dfg-featured-image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
}

/* Speaker naam kleuren – herhaalt iedere 5 personen */
.speakers .dp-dfg-items .dp-dfg-item:nth-child(5n + 1) .dp-dfg-header .entry-title {
	color: var(--pink-tint) !important;
}

.speakers .dp-dfg-items .dp-dfg-item:nth-child(5n + 2) .dp-dfg-header .entry-title {
	color: var(--indigo-tint) !important;
}

.speakers .dp-dfg-items .dp-dfg-item:nth-child(5n + 3) .dp-dfg-header .entry-title {
	color: var(--yellow-tint) !important;
}

.speakers .dp-dfg-items .dp-dfg-item:nth-child(5n + 4) .dp-dfg-header .entry-title {
	color: var(--orange-tint) !important;
}

.speakers .dp-dfg-items .dp-dfg-item:nth-child(5n + 5) .dp-dfg-header .entry-title {
	color: var(--green-tint) !important;
}

/* Plus permanent op speaker afbeelding */
.speakers .dp-dfg-image {
	position: relative;
}

.speakers .dp-dfg-image::after {
	content: "\4c";
	font-family: "ETmodules";
	font-weight: 400;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 10;
	color: var(--navy: #0C0C31;);
	font-size: 38px;
	line-height: 1;
	pointer-events: none;
}

/* Board Members */
.person-card,
.person-card .et_pb_image_wrap {
	width: 100%;
	display: block;
}

.person-card img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* ----- Table Tabs ----- */
/* PROGRAMME TABLE */
.programme-tabs .programme-date {
  color: #fff;
  font-weight: 700;
  margin: 35px 0 18px;
}

.programme-tabs .programme-table {
	font-family: var(--font-family-global-body);
	width: 100%;
	border-collapse: collapse;
	border: 0 !important;
	background: transparent;
}

.programme-tabs .programme-table th,
.programme-tabs .programme-table td {
  border: 0;
  color: #fff;
  text-align: left;
  vertical-align: top;
}

/* Gele headings */
.programme-tabs .programme-table thead th {
	font-weight: 700;
	padding: 0 0 20px;
}

/* Tijdkolom */
.programme-tabs .programme-table thead th:first-child,
.programme-tabs .programme-table tbody th {
	width: 160px;
	padding-right: 20px!important;
}

/* Rijen */
.programme-tabs .programme-table tbody tr {
  border-bottom: 2px solid #ffffff;
}

.programme-tabs .programme-table tbody tr:last-child {
  border-bottom: 0;
}

.programme-tabs .programme-table tbody th,
.programme-tabs .programme-table tbody td {
  padding: 18px 0;
  font-size: var(--font-size-body);
  line-height: 1.2;
}

/* Tijd */
.programme-tabs .programme-table tbody th {
  font-weight: 700;
  white-space: nowrap;
}

/* TABS */
/* Tab navigation */
.programme-tabs .et_pb_tabs_controls {
	display: flex;
	gap: 40px;
	background: transparent;
}

/* Basis tekststijl */
.programme-tabs .et_pb_tabs_controls li a {
	font-size: var(--font-size-h6) !important;
	color: white !important;
}

/* Niet-actieve tabs */
.programme-tabs .et_pb_tabs_controls li:not(.et_pb_tab_active) {
	background: transparent;
	border: 2px solid white !important;
}

/* Actieve tabs: algemeen */
.programme-tabs .et_pb_tabs_controls li.et_pb_tab_active a {
	color: #0C0C31 !important;
}

/* Day 1 - IGNITE */
.programme-tabs .et_pb_tab_nav_item_0.et_pb_tab_active {
	background: #F5D442;
	border: 2px solid #F5D442 !important;
}

/* Day 2 - TRANSFORM */
.programme-tabs .et_pb_tab_nav_item_1.et_pb_tab_active {
	background: #FF346E;
	border: 2px solid #FF346E !important;
}

/* Day 3 - APPLY */
.programme-tabs .et_pb_tab_nav_item_2.et_pb_tab_active {
	background: #31AB8E;
	border: 2px solid #31AB8E !important;
}

@media (max-width: 767px) {
	/* Tabs */
	.programme-tabs .et_pb_tabs_controls {
		gap: 10px;
	}

	.programme-tabs .et_pb_tabs_controls li {
		flex: 1;
	}

	.programme-tabs .et_pb_tabs_controls li a {
		white-space: nowrap;
		padding: 10px 8px !important;
		font-size: 16px !important;
	}

	/* Tabel onder elkaar */
	.programme-tabs .programme-table th,
	.programme-tabs .programme-table td {
		display: block;
	}

	/* Desktop 160px overschrijven */
	.programme-tabs .programme-table thead th:first-child,
	.programme-tabs .programme-table tbody th {
		width: 100%;
	}

	/* Mobiele spacing */
	.programme-tabs .programme-table tbody th {
		padding: 18px 0 6px !important;
	}

	.programme-tabs .programme-table tbody td {
		padding: 0 0 18px;
	}
}


/* ----- FAQ ----- */
.dsm_faq .dsm-faq-content {
	font-family: var(--font-family-global-body);
}

/* ----- Font Faces ----- */
@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-Light.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-LightItalic.woff2') format('woff2');
	font-weight: 300;
	font-style: italic;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-Regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-RegularItalic.woff2') format('woff2');
	font-weight: 400;
	font-style: italic;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-Semibold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-SemiboldItalic.woff2') format('woff2');
	font-weight: 600;
	font-style: italic;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-Bold.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
}

@font-face {
    font-family: 'Averta STD';
    src: url('/wp-content/themes/bright8/fonts/AvertaStd-BoldItalic.woff2') format('woff2');
	font-weight: 700;
	font-style: italic;
}