:root {
	--header-height: 8rem;
	--footer-height: 8.5rem;

	--paloozi-colour-1: #FF0F7B;
	--paloozi-colour-2: var(--bs-primary);
	--paloozi-colour-3: #F89B29;
}

@media (max-width: 767.98px) { 
	:root {
		--header-height: 6rem;
	}
}

/* Helpers */

.bg-paloozi-1 {
	background-color: var(--paloozi-colour-1) !important;
}

.bg-paloozi-2 {
	background-color: var(--paloozi-colour-2) !important;
}

.bg-paloozi-3 {
	background-color: var(--paloozi-colour-3) !important;
}

.text-paloozi-1 {
	color: var(--paloozi-colour-1) !important;
}

.text-paloozi-2 {
	color: var(--paloozi-colour-2) !important;
}

.text-paloozi-3 {
	color: var(--paloozi-colour-3) !important;
}

/* Header */

header {
	width: 100%;
}

header nav {
	height: var(--header-height);
}

header nav img {
	width: 10rem;
}

@media (max-width: 767.98px) { 
	header nav img {
		width: 8rem;
	}
}

/* Page */

section.page {
	min-height: calc(100vh - (var(--header-height) + var(--footer-height)));
}

/* Hero */

section.hero {
	min-height: calc(100vh - (var(--header-height)));
	display: flex;
	position: relative;
	align-items: center;
	background-image: url("/img/hero/background.png");
	background-position: center 4rem;
	background-repeat: no-repeat;
}

section.hero .hero-display {
	font-weight: 700;
    line-height: 1.3;
    font-size: calc(2rem + 1.5vw);
	margin-bottom: 1.25rem;
}

section.hero .hero-description {
	max-width: 640px;
	font-size: 1.125rem;
	margin-bottom: 1.5rem;
}

section.hero .hero-down {
	display: flex;
	justify-content: center;
	position: absolute;
	bottom: 1.5rem;
	left: calc(50% - 3rem);
	font-size: 6rem;
	opacity: .05;
}

/* Footer */

footer a {
	color: var(--bs-body-color);
}


footer a:hover,
footer button:hover {
	opacity: 0.9;
}

/* Timeline */

.timeline {
	position: relative;
	margin-bottom: 2rem;
	min-height: 1rem;
}

.timeline .label {
	top: 0;
	left: 1rem;
	position: absolute;
	min-height: 1rem;
	min-width: 1rem;
	display: inline-flex;
	border-radius: 50%;
	background-color: var(--bs-body-bg);
	border: solid 2px var(--bs-border-color);
}

.timeline .label-active {
	border-color: #BBB;
}

.timeline .line {
	border-top: dotted 0.125rem var(--bs-border-color);
	position: absolute;
	top: calc(50% - 1px);
	width: 100%;
	z-index: -1;
}

.timeline .line-last {
	width: 2rem;
}

/* Icon Block */

.icon-block {
	background-color: var(--bs-secondary-bg);
	min-height: 4rem;
	min-width: 4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
	border-radius: 0.5rem;
}

/* Animated sentences */

.animate-up {
	display: inline-block;
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.animate-up span {
	color: var(--paloozi-colour-2);
}

.animate-up.hidden {
	opacity: 0;
  	transform: translateY(10px);
}