/* --- Global Styles --- */
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 86px - 150px);
}

/* --- Component Styles --- */
.navbar {
	min-height: 86px; 
}

.footer-custom {
	min-height: 150px; 
}

/* Main hero section styles */
main > section {
	padding: 10rem 0;
	background-image: linear-gradient(to right, rgba(106, 27, 154, 0.50), rgba(255, 193, 7, 0.50)), url('images/coming_soon_2.png');
	background-size: cover;
	background-position: center center;
	flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.countdown-container {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.countdown-item {
	background: rgba(255, 255, 255, 0.1);
	padding: 1rem;
	border-radius: 0.5rem;
	text-align: center;
	min-width: 90px;
}

.countdown-number {
	font-size: 2.5rem;
	font-weight: bold;
}

.countdown-label {
	font-size: 1rem;
	text-transform: uppercase;
}

/* --- Mobile-Specific Styles --- */
@media (max-width: 768px) {
	main {
		/* Allows main's height to be based on its content on mobile */
		min-height: auto;
	}

	main > section {
		/* Stops the section from stretching to fill vertical space */
	    flex-grow: 0; 
	    padding: 4rem 0;
	    background-position: 30% center;
	}

	h1.display-3 {
		font-size: 2.5rem; 
	}
	
	.lead {
		font-size: 1rem;
	}
}