<commit_before>$intro-text-color-light: #e9edec;
$intro-text-color-body: #4c3a27;
$intro-text-color-dark: #33261b;
$intro-border: 2px solid white;
$intro-background-color: #90a3a0;

// Google Fonts imported in index.html
%playfair-display-bold-italic {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-style: italic;
	color: $intro-text-color-dark;
}

%playfair-display-ultrabold-italic {
	font-family: 'Playfair Display', serif;
	font-weight: 900;
	font-style: italic;
	color: $intro-text-color-light;
}

%ultra {
	font-family: 'Ultra', serif;
	font-weight: 400;
	color: $intro-text-color-light;
	letter-spacing: 1.5px;
	transform: scaleX(1.15);
}

%tinos {
	font-family: 'Tinos', serif;
	font-weight: 400;
	color: $intro-text-color-body;
}

.intro-modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;

	z-index: 1000000001;	// lift above hamburger menu, map controls, introjs toggle buttons
	overflow: auto;

	background-color: $intro-background-color;
	text-align: center;

	.page {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 100%;
		position: relative;
		margin: 0 auto;
	}

	.p0 {
		$title-offset: 75px;

		width: 600px;
		margin-top: -$title-offset / 2;

		.title-block {
			transform: translateY($title-offset);

			span {
				display: block;
				margin: 0;
			}
		}
		.title-lg {
			@extend %ultra;
			font-size: 28px;
		}
		.title-sm {
			@extend %playfair-display-bold-italic;
			font-size: 20px;
		}

		img {
			width: 100%;
			border: $intro-border;

			&.loading {
				height: 391px;	// avoid collapsing while loading image
			}
		}

		.dates-overlay {
			position: absolute;
			left: 0;
			top: 44%;
			width: 100%;

			display: flex;
			flex-direction: row;
			justify-content: space-between;

			@extend %playfair-display-ultrabold-italic;
			font-size: 60px;

			span {
				display: block;
				&:first-of-type {
					transform: translateX(-50%);
				}<commit_msg>Ensure all of intro modal content is visible on scroll<commit_after>$intro-text-color-light: #e9edec;
$intro-text-color-body: #4c3a27;
$intro-text-color-dark: #33261b;
$intro-border: 2px solid white;
$intro-background-color: #90a3a0;

// Google Fonts imported in index.html
%playfair-display-bold-italic {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	font-style: italic;
	color: $intro-text-color-dark;
}

%playfair-display-ultrabold-italic {
	font-family: 'Playfair Display', serif;
	font-weight: 900;
	font-style: italic;
	color: $intro-text-color-light;
}

%ultra {
	font-family: 'Ultra', serif;
	font-weight: 400;
	color: $intro-text-color-light;
	letter-spacing: 1.5px;
	transform: scaleX(1.15);
}

%tinos {
	font-family: 'Tinos', serif;
	font-weight: 400;
	color: $intro-text-color-body;
}

.intro-modal {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;

	z-index: 1000000001;	// lift above hamburger menu, map controls, introjs toggle buttons
	overflow: auto;

	background-color: $intro-background-color;
	text-align: center;

	.page {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		min-height: 100%;
		position: relative;
		margin: 0 auto;
		padding-bottom: 20px;
	}

	.p0 {
		$title-offset: 75px;

		width: 600px;
		margin-top: -$title-offset / 2;

		.title-block {
			transform: translateY($title-offset);

			span {
				display: block;
				margin: 0;
			}
		}
		.title-lg {
			@extend %ultra;
			font-size: 28px;
		}
		.title-sm {
			@extend %playfair-display-bold-italic;
			font-size: 20px;
		}

		img {
			width: 100%;
			border: $intro-border;

			&.loading {
				height: 391px;	// avoid collapsing while loading image
			}
		}

		.dates-overlay {
			position: absolute;
			left: 0;
			top: 41%;
			width: 100%;

			display: flex;
			flex-direction: row;
			justify-content: space-between;

			@extend %playfair-display-ultrabold-italic;
			font-size: 60px;

			span {
				display: block;
				&:first-of-type {
					transform: translateX(-50%);
				}
{'fraction_non_alphanumeric': 0.15055900621118012, 'fraction_numerical': 0.04124223602484472, 'mean_word_length': 3.2378947368421054, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5592146', 'n_tokens_mistral': 1925, 'n_tokens_neox': 1543, 'n_words': 345}