/* Button styles */

.btn {
	display: block;
	width: fit-content;
	padding: var(--space-s) var(--space-m);
	text-decoration: none;
	font-weight: 500;
	cursor: pointer;
	border-radius: .5rem;
	text-align: center;
	margin-block: var(--space-m);
	transition: all ease-in-out .2s;
	font-family: 'Poppins', 'Quicksand', sans-serif;
}

.btn--primary,
.btn--primary:visited {
	background-color: var(--accent);
	color: #fff;
}

.btn--primary:hover,
.btn--primary:visited:hover,
.btn--secondary:hover,
.btn--secondary:visited:hover,
.btn--line:hover,
.btn--line:visited:hover {
	background-color: var(--navy);
	color: #fff;
}

.btn--secondary,
.btn--secondary:visited {
	background-color: var(--primary);
	color: #fff;
}

.btn--white,
.btn--white:visited {
	background-color: var(--bg);
	color: var(--navy);
}

.btn--white:hover,
.btn--white:visited:hover {
	text-decoration: underline;
}

.btn--line,
.btn--line:visited {
	background-color: transparent;
	border: 2px solid var(--navy);
	color: var(--navy);
}

.btn--underline,
.btn--underline:visited {
	background-color: transparent;
	border-bottom: 2px solid var(--navy);
	color: var(--navy);
	border-radius: 0;
}

.btn--underline:hover {
	color: var(--primary);
	border-color: var(--primary);
}

.btn--center {
	margin-inline: auto;
}

.btn-group {
	display: flex;
	gap: var(--space-s);
	flex-wrap: wrap;
	padding-block: var(--space-m);
}

.btn-group .btn {
	margin-block: 0;
}

/* Header */

.site-header,
.site-header__left {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-s);
	padding: var(--space-s) 0;
}

/*
.site-header {
	position: fixed;
    z-index: 9999;
    padding-inline: var(--space-m);
    left: 0;
    right: 0;
    top: 0;
	background-color: var(--bg);
}
*/

.site-header__left {
	gap: var(--space-l);
	flex-wrap: nowrap;
}

.site-header__left .site-branding img {
	width: 17.5rem;
}

/* Menu */

.site-nav__menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	gap: var(--space-m);
	font-family: 'Poppins', 'Quicksand', sans-serif;
}

.site-header__left a,
.mobile-nav a {
	color: var(--navy);
	text-decoration: none;
	font-weight: 600;
	transition: all ease-in-out .2s;
}

.site-header__left a:hover:not(.current-menu-item a:hover) {
	filter: contrast(0.5);
}

.menu-item-has-children a {
	position: relative;
}

.menu-item-has-children > a::after {
	content: '';
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	-webkit-font-smoothing: antialiased;
	content: '\f078';
	margin-left: var(--space-xs);
}

.site-nav__menu .sub-menu {
	display: none;
	background-color: var(--navy);
	margin: 0;
	padding: var(--space-s);
	list-style-type: none;
	min-width: 20rem;
	border-radius: .5rem;
	position: absolute;
	z-index: 999;
}

.site-nav__menu .sub-menu.show {
	display: block;
}

.site-nav__menu .sub-menu li:not(:last-of-type) {
	margin-bottom: var(--space-s)
}

.site-nav__menu .sub-menu a {
    display: block;
	width: 100%;
	color: var(--bg);
}

.current-menu-item a {
	color: var(--primary);
}

.sub-menu .current-menu-item a {
	color: var(--gold);
}

/* Mobile Menu */

.mobile-menu-icon {
	display: none;
}

.mobile-nav {
	display: none;
}

.mobile-nav.show {
	display: block;
}

/* Tickets CTA */


.event-tickets {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-s);
	border: 2px solid var(--accent);
	border-radius: 1rem;
	color: var(--accent);
	font-weight: 600;
	padding: var(--space-s);
}

.event-tickets p {
	margin: 0;
}

.event-tickets .btn {
	margin: 0;
}

@media only screen and (max-width: 1440px) {
	
	.event-tickets {
		flex-direction: column;
	}

	.event-tickets__info,
	.event-tickets .btn {
		width: 100%;
	}
}


@media only screen and (max-width: 768px) {
	
	.site-header {
		display: block;
		position: relative;
	}

	.site-nav,
	.mobile-nav {
		display: none;
		width: 100%;
		padding-block: var(--space-m);
	}

	.site-nav__menu {
		flex-direction: column;
	}

	.mobile-menu-icon {
		display: block;
	}

	.site-nav__menu .sub-menu {
		position: relative;
		background-color: transparent;
		padding: var(--space-m) var(--space-xs) 0;
		min-width: 0;
	}

	.site-nav__menu .sub-menu a {
		color: var(--navy);
	}

}

/* Footer */

.site-footer {
	background-color: var(--navy);
	color: var(--cream);
	padding-block: var(--space-2xl) 0;
	margin-top: var(--space-2xl);
	border-top-left-radius: var(--space-l);
	border-top-right-radius: var(--space-l);
}

.site-footer a:not(.btn) {
	color: var(--cream);
	text-decoration: none;
}

.site-footer__wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-s) var(--space-2xl);
}

.footer-nav ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.footer-nav ul li {
	margin-bottom: var(--space-xs);
}

.site-info {
	font-size: var(--fs--1);
	padding-block: var(--space-s);
}

.site-info .credit {
    font-size: var(--fs--2);
}

@media only screen and (max-width: 768px) {
    
    .site-footer__wrapper {
		grid-template-columns: 1fr;
	}

}

/* Page Headers */

.page-header {
	padding-block: var(--space-xl);
	background-color: var(--green);
	color: var(--bg);
	text-align: center;
	border-bottom-left-radius: var(--space-s);
	border-bottom-right-radius: var(--space-s);
}

.page-header__wrapper {
	max-width: 48rem;
	margin: auto;
	padding-inline: var(--space-s);
}

/* Sponsor Logos */

.core-sponsor-logos,
.sponsor-logos,
.partner-logos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: var(--space-s);
	margin-block: var(--space-l);
}

/* Speakers & Exhibitors Grid */

.speakers,
.exhibitors {
	text-align: center;
}

.speakers-grid,
.exhibitors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-l);
    margin-block: var(--space-l);
}

a.speaker,
a.exhibitor {
	text-decoration: none;
}

a.speaker img,
a.exhibitor img {
	transition: .3s all ease-in-out;
}

a.speaker:hover img,
a.exhibitor:hover img {
	transform: scale(1.2) rotate(5deg);
}

.speakers-grid h3,
.exhibitors-grid h3 {
    font-size: var(--fs-0);
}

.speakers-grid p
.exhibitors-grid p {
    font-size: var(--fs--1);
    line-height: var(--space-s);
}

@media only screen and (max-width: 768px) {
    
    .speakers-grid,
    .exhibitors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media only screen and (max-width: 425px) {
    
    .speakers-grid,
    .exhibitors-grid {
        grid-template-columns: 1fr;
    }

}

/* Tent Tables */

.programme-table {
	border-top: 2px solid var(--green);
	margin-block: var(--space-l);
}

.programme-table__row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: var(--space-m);
	align-items: center;
	justify-content: center;
	padding-block: var(--space-2xs);
	border-bottom: 2px solid var(--green);
}

.programme-table__time span {
	color: var(--accent);
	margin-right: var(--space-xs);
}

.programme-table__speaker {
	display: flex;
	align-items: center;
	gap: var(--space-s);
}

.programme-table__speaker img {
	aspect-ratio: 1/1;
	max-width: 4rem;
	border-radius: 999px;
}

.programme-table__speaker a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.programme-table__talk p {
	margin: 0;
}

.programme .coming-soon {
	text-align: center;
}

.tent-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-xs);
	padding-top: var(--space-m);
}

@media only screen and (max-width: 768px) {
    
    .programme-table__row {
		grid-template-columns: auto 1fr;
		row-gap: var(--space-2xs);
	}

	.programme-table__speaker {
		justify-content: flex-end;
	}

	.programme-table__speaker img {
		max-width: 3rem;
	}
	
	.programme-table__talk {
		grid-column: 1/3;
		display: flex;
		flex-wrap: wrap;
		column-gap: var(--space-m)
	}
	
	.tent-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--space-xs);
	}

}

@media only screen and (max-width: 375px) { 
	.programme-table__speaker img {
		display: none;
	}
}

.site-banner {
	background-color: var(--accent);
	color: var(--bg);
	text-align: center;
	padding: 1rem;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
}

.site-banner p {
	margin: 0;
}

.site-banner a {
	color: #fff;
}

.site-banner ~ .site-header {
	margin-top: 3rem;
}