@import url(fontawesome-all.min.css);

/*
	Stellar by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background-color: #fbefd9;
		background-image: url("images/overlay.png"), -moz-linear-gradient(45deg, #fbefd9 15%, #fbefd9 85%);
		background-image: url("images/overlay.png"), -webkit-linear-gradient(45deg, #fbefd9 15%, #fbefd9 85%);
		background-image: url("images/overlay.png"), -ms-linear-gradient(45deg, #fbefd9 15%, #fbefd9 85%);
		background-image: url("images/overlay.png"), linear-gradient(45deg, #fbefd9 15%, #fbefd9 85%);
	}

	body:before, body:after {
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 1684.5 / 95;
		background:
			url("../../images/theme/beaded-banner-top.webp") center / 101% auto no-repeat,
			url("../../images/theme/brown-banner.webp") center / 102% auto no-repeat;
	}

	body:after {
		background-image: url("../../images/theme/beaded-banner-bottom.webp"), url("../../images/theme/brown-banner.webp");
	}


		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body {
		background-color: #f3e5ca;
		color: rgba(255, 255, 255, 0.65);
	}

	body, input, select, textarea {
		font-family: "DM Sans", Helvetica, sans-serif;
		font-size: 17pt;
		font-weight: 300;
		line-height: 1.65;
	}

		@media screen and (max-width: 1680px) {

			body, input, select, textarea {
				font-size: 14pt;
			}

		}

		@media screen and (max-width: 1280px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 360px) {

			body, input, select, textarea {
				font-size: 11pt;
			}

		}

	a {
		-moz-transition: color 0.2s ease, border-bottom 0.2s ease;
		-webkit-transition: color 0.2s ease, border-bottom 0.2s ease;
		-ms-transition: color 0.2s ease, border-bottom 0.2s ease;
		transition: color 0.2s ease, border-bottom 0.2s ease;
		text-decoration: none;
		border-bottom: dotted 1px;
		color: inherit;
	}

		a:hover {
			border-bottom-color: transparent;
		}

	strong, b {
		font-weight: 700;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2em 0;
	}

		p.content {
			-moz-columns: 20em 2;
			-webkit-columns: 20em 2;
			-ms-columns: 20em 2;
			columns: 20em 2;
			-moz-column-gap: 2em;
			-webkit-column-gap: 2em;
			-ms-column-gap: 2em;
			column-gap: 2em;
			text-align: justify;
		}

	h1, h2, h3, h4, h5, h6 {
		font-family: "Unbounded", "DM Sans", sans-serif;
		font-weight: 700;
		line-height: 1.5;
		margin: 0 0 0.7em 0;
		letter-spacing: 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 2.5em;
		line-height: 1.2;
	}

	h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.25em;
	}

	h4 {
		font-size: 1.1em;
	}

	h5 {
		font-size: 0.9em;
	}

	h6 {
		font-size: 0.7em;
	}

	@media screen and (max-width: 736px) {

		h1 {
			font-size: 2em;
		}

	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 4px;
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		border-radius: 8px;
		border: solid 1px;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px;
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

	input, select, textarea {
		color: #ffffff;
	}

	a:hover {
		color: #ffffff;
	}

	strong, b {
		color: #ffffff;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #ffffff;
	}

	blockquote {
		border-left-color: rgba(255, 255, 255, 0.35);
	}

	code {
		background: rgba(255, 255, 255, 0.075);
		border-color: rgba(255, 255, 255, 0.35);
	}

	hr {
		border-bottom-color: rgba(255, 255, 255, 0.35);
	}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0;
			margin-left: 0em;
		}

			.row.gtr-0 > * {
				padding: 0 0 0 0em;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0em;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0em;
				}

		.row.gtr-25 {
			margin-top: 0;
			margin-left: -0.375em;
		}

			.row.gtr-25 > * {
				padding: 0 0 0 0.375em;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -0.375em;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 0.375em;
				}

		.row.gtr-50 {
			margin-top: 0;
			margin-left: -0.75em;
		}

			.row.gtr-50 > * {
				padding: 0 0 0 0.75em;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -0.75em;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 0.75em;
				}

		.row {
			margin-top: 0;
			margin-left: -1.5em;
		}

			.row > * {
				padding: 0 0 0 1.5em;
			}

			.row.gtr-uniform {
				margin-top: -1.5em;
			}

				.row.gtr-uniform > * {
					padding-top: 1.5em;
				}

		.row.gtr-150 {
			margin-top: 0;
			margin-left: -2.25em;
		}

			.row.gtr-150 > * {
				padding: 0 0 0 2.25em;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -2.25em;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 2.25em;
				}

		.row.gtr-200 {
			margin-top: 0;
			margin-left: -3em;
		}

			.row.gtr-200 > * {
				padding: 0 0 0 3em;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -3em;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 3em;
				}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0em;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0em;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0em;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0em;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375em;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375em;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375em;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375em;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75em;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75em;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75em;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75em;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5em;
				}

					.row > * {
						padding: 0 0 0 1.5em;
					}

					.row.gtr-uniform {
						margin-top: -1.5em;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5em;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25em;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25em;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25em;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25em;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3em;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3em;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3em;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3em;
						}

		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0em;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0em;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0em;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0em;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375em;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375em;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375em;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375em;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75em;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75em;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75em;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75em;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5em;
				}

					.row > * {
						padding: 0 0 0 1.5em;
					}

					.row.gtr-uniform {
						margin-top: -1.5em;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5em;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25em;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25em;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25em;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25em;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3em;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3em;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3em;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3em;
						}

		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0em;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0em;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0em;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0em;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375em;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375em;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375em;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375em;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75em;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75em;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75em;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75em;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5em;
				}

					.row > * {
						padding: 0 0 0 1.5em;
					}

					.row.gtr-uniform {
						margin-top: -1.5em;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5em;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25em;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25em;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25em;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25em;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3em;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3em;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3em;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3em;
						}

		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0em;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0em;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0em;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0em;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.25em;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.25em;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.25em;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.25em;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.5em;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.5em;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.5em;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.5em;
						}

				.row {
					margin-top: 0;
					margin-left: -1em;
				}

					.row > * {
						padding: 0 0 0 1em;
					}

					.row.gtr-uniform {
						margin-top: -1em;
					}

						.row.gtr-uniform > * {
							padding-top: 1em;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.5em;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.5em;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.5em;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.5em;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2em;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2em;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2em;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2em;
						}

		}

		@media screen and (max-width: 480px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xsmall {
					order: -1;
				}

				.row > .col-1-xsmall {
					width: 8.33333%;
				}

				.row > .off-1-xsmall {
					margin-left: 8.33333%;
				}

				.row > .col-2-xsmall {
					width: 16.66667%;
				}

				.row > .off-2-xsmall {
					margin-left: 16.66667%;
				}

				.row > .col-3-xsmall {
					width: 25%;
				}

				.row > .off-3-xsmall {
					margin-left: 25%;
				}

				.row > .col-4-xsmall {
					width: 33.33333%;
				}

				.row > .off-4-xsmall {
					margin-left: 33.33333%;
				}

				.row > .col-5-xsmall {
					width: 41.66667%;
				}

				.row > .off-5-xsmall {
					margin-left: 41.66667%;
				}

				.row > .col-6-xsmall {
					width: 50%;
				}

				.row > .off-6-xsmall {
					margin-left: 50%;
				}

				.row > .col-7-xsmall {
					width: 58.33333%;
				}

				.row > .off-7-xsmall {
					margin-left: 58.33333%;
				}

				.row > .col-8-xsmall {
					width: 66.66667%;
				}

				.row > .off-8-xsmall {
					margin-left: 66.66667%;
				}

				.row > .col-9-xsmall {
					width: 75%;
				}

				.row > .off-9-xsmall {
					margin-left: 75%;
				}

				.row > .col-10-xsmall {
					width: 83.33333%;
				}

				.row > .off-10-xsmall {
					margin-left: 83.33333%;
				}

				.row > .col-11-xsmall {
					width: 91.66667%;
				}

				.row > .off-11-xsmall {
					margin-left: 91.66667%;
				}

				.row > .col-12-xsmall {
					width: 100%;
				}

				.row > .off-12-xsmall {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0em;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0em;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0em;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0em;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.3125em;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.3125em;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.3125em;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.3125em;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.625em;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.625em;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.625em;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.625em;
						}

				.row {
					margin-top: 0;
					margin-left: -1.25em;
				}

					.row > * {
						padding: 0 0 0 1.25em;
					}

					.row.gtr-uniform {
						margin-top: -1.25em;
					}

						.row.gtr-uniform > * {
							padding-top: 1.25em;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -1.875em;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 1.875em;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -1.875em;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 1.875em;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -2.5em;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 2.5em;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -2.5em;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 2.5em;
						}

		}

/* Box */

	.box {
		border-radius: 8px;
		border: solid;
		margin-bottom: 2em;
		padding: 1.5em;
	}

		.box > :last-child,
		.box > :last-child > :last-child,
		.box > :last-child > :last-child > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

	.box {
		border-color: rgba(255, 255, 255, 0.35);
	}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		border-radius: 8px;
		border: 0;
		cursor: pointer;
		display: inline-block;
		font-weight: 300;
		height: 2.75em;
		line-height: 2.75em;
		min-width: 9.25em;
		padding: 0 1.5em;
		text-align: center;
		text-decoration: none;
		white-space: nowrap;
	}

		input[type="submit"].icon,
		input[type="reset"].icon,
		input[type="button"].icon,
		button.icon,
		.button.icon {
			padding-left: 1.35em;
		}

			input[type="submit"].icon:before,
			input[type="reset"].icon:before,
			input[type="button"].icon:before,
			button.icon:before,
			.button.icon:before {
				margin-right: 0.5em;
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.8em;
		}

		input[type="submit"].large,
		input[type="reset"].large,
		input[type="button"].large,
		button.large,
		.button.large {
			font-size: 1.35em;
		}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
			pointer-events: none;
			opacity: 0.25;
		}

		@media screen and (max-width: 736px) {

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				min-width: 0;
			}

		}

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		background-color: transparent;
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
		color: #ffffff !important;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			background-color: rgba(255, 255, 255, 0.075);
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: rgba(255, 255, 255, 0.2);
		}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
			color: rgba(255, 255, 255, 0.5);
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			background-color: #8cc9f0;
			color: #ffffff !important;
			box-shadow: none;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: #9acff2;
			}

			input[type="submit"].primary:active,
			input[type="reset"].primary:active,
			input[type="button"].primary:active,
			button.primary:active,
			.button.primary:active {
				background-color: #7ec3ee;
			}

			input[type="submit"].primary.icon:before,
			input[type="reset"].primary.icon:before,
			input[type="button"].primary.icon:before,
			button.primary.icon:before,
			.button.primary.icon:before {
				color: #ffffff !important;
			}

/* Form */

	form {
		margin: 0 0 2em 0;
	}

	label {
		display: block;
		font-size: 0.9em;
		font-weight: 400;
		margin: 0 0 1em 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		border-radius: 8px;
		border: solid 1px;
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

	select {
		background-size: 1.25rem;
		background-repeat: no-repeat;
		background-position: calc(100% - 1rem) center;
		height: 2.75em;
		padding-right: 2.75em;
		text-overflow: ellipsis;
	}

		select:focus::-ms-value {
			background-color: transparent;
		}

		select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 2.75em;
	}

	textarea {
		padding: 0.75em 1em;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2em;
		opacity: 0;
		width: 1em;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			cursor: pointer;
			display: inline-block;
			font-size: 1em;
			font-weight: 300;
			padding-left: 2.4em;
			padding-right: 0.75em;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				border-radius: 8px;
				border: solid 1px;
				content: '';
				display: inline-block;
				font-size: 0.8em;
				height: 2.0625em;
				left: 0;
				line-height: 2.0625em;
				position: absolute;
				text-align: center;
				top: 0;
				width: 2.0625em;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			content: '\f00c';
		}

	input[type="checkbox"] + label:before {
		border-radius: 8px;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		opacity: 1.0;
	}

	:-moz-placeholder {
		opacity: 1.0;
	}

	::-moz-placeholder {
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		opacity: 1.0;
	}

	label {
		color: #ffffff;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		background-color: rgba(255, 255, 255, 0.075);
		border-color: rgba(255, 255, 255, 0.35);
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		select:focus,
		textarea:focus {
			border-color: #8cc9f0;
			box-shadow: 0 0 0 1px #8cc9f0;
		}

	select {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(255, 255, 255, 0.35)' /%3E%3C/svg%3E");
	}

		select option {
			color: #ffffff;
			background: #935d8c;
		}

	input[type="checkbox"] + label,
	input[type="radio"] + label {
		color: rgba(255, 255, 255, 0.65);
	}

		input[type="checkbox"] + label:before,
		input[type="radio"] + label:before {
			background: rgba(255, 255, 255, 0.075);
			border-color: rgba(255, 255, 255, 0.35);
		}

	input[type="checkbox"]:checked + label:before,
	input[type="radio"]:checked + label:before {
		background-color: #ffffff;
		border-color: #ffffff;
		color: #935d8c;
	}

	input[type="checkbox"]:focus + label:before,
	input[type="radio"]:focus + label:before {
		border-color: #8cc9f0;
		box-shadow: 0 0 0 1px #8cc9f0;
	}

	::-webkit-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
	}

	:-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
	}

	::-moz-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
	}

	:-ms-input-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
	}

	.formerize-placeholder {
		color: rgba(255, 255, 255, 0.5) !important;
	}

/* Icon */

	.icon {
		text-decoration: none;
		-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon:before {
			line-height: solid;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

		.icon.major {
			border: solid 1px;
			display: inline-block;
			border-radius: 100%;
			padding: 0.65em;
			margin: 0 0 2em 0;
			cursor: default;
		}

			.icon.major:before {
				display: inline-block;
				font-size: 6.25rem;
				width: 2.25em;
				height: 2.25em;
				line-height: 2.2em;
				border-radius: 100%;
				border: solid 1px;
				text-align: center;
			}

		.icon.alt {
			display: inline-block;
			border: solid 1px;
			border-radius: 100%;
		}

			.icon.alt:before {
				display: block;
				font-size: 1.25em;
				width: 2em;
				height: 2em;
				text-align: center;
				line-height: 2em;
			}

		.icon.style1 {
			color: #efa8b0;
		}

		.icon.style2 {
			color: #c79cc8;
		}

		.icon.style3 {
			color: #a89cc8;
		}

		.icon.style4 {
			color: #9bb2e1;
		}

		.icon.style5 {
			color: #8cc9f0;
		}

		@media screen and (max-width: 1680px) {

			.icon.major:before {
				font-size: 5.5rem;
			}

		}

		@media screen and (max-width: 1280px) {

			.icon.major:before {
				font-size: 4.75rem;
			}

		}

		@media screen and (max-width: 736px) {

			.icon.major {
				margin: 0 0 1.5em 0;
				padding: 0.35em;
			}

				.icon.major:before {
					font-size: 3.5rem;
				}

		}

	.icon.major {
		border-color: rgba(255, 255, 255, 0.35);
	}

		.icon.major:before {
			border-color: rgba(255, 255, 255, 0.35);
		}

	.icon.alt {
		border-color: rgba(255, 255, 255, 0.35);
		color: #ffffff;
	}

		.icon.alt:hover {
			background-color: rgba(255, 255, 255, 0.075);
		}

		.icon.alt:active {
			background-color: rgba(255, 255, 255, 0.2);
		}

/* Image */

	.image {
		border-radius: 8px;
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			border-radius: 8px;
			display: block;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 1.5em 1em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			margin: 0 0 1em 1.5em;
			top: 0.25em;
		}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 0 0 3em 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

	ul {
		list-style: disc;
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px;
				padding: 0.5em 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

	dl {
		margin: 0 0 2em 0;
	}

		dl dt {
			display: block;
			font-weight: 400;
			margin: 0 0 1em 0;
		}

		dl dd {
			margin-left: 2em;
		}

		dl.alt dt {
			display: block;
			width: 3em;
			margin: 0;
			clear: left;
			float: left;
		}

		dl.alt dd {
			margin: 0 0 0.85em 5.5em;
		}

		dl.alt:after {
			content: '';
			display: block;
			clear: both;
		}

	ul.alt li {
		border-top-color: rgba(255, 255, 255, 0.35);
	}

	dl dt {
		color: #ffffff;
	}

/* Actions */

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1em;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1em;
			vertical-align: middle;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3em 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(100% + 1em);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				width: 100%;
			}

				ul.actions.fit li > * {
					width: 100%;
				}

			ul.actions.fit.stacked {
				width: 100%;
			}

		@media screen and (max-width: 480px) {

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1em 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}

					ul.actions:not(.fixed) li input[type="submit"],
					ul.actions:not(.fixed) li input[type="reset"],
					ul.actions:not(.fixed) li input[type="button"],
					ul.actions:not(.fixed) li button,
					ul.actions:not(.fixed) li .button {
						width: 100%;
					}

						ul.actions:not(.fixed) li input[type="submit"].icon:before,
						ul.actions:not(.fixed) li input[type="reset"].icon:before,
						ul.actions:not(.fixed) li input[type="button"].icon:before,
						ul.actions:not(.fixed) li button.icon:before,
						ul.actions:not(.fixed) li .button.icon:before {
							margin-left: -0.5rem;
						}

		}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding: 0 0.65em 0 0;
		}

			ul.icons li:last-child {
				padding-right: 0 !important;
			}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header.major {
		margin-bottom: 3em;
	}

		header.major h2 {
			font-size: 2em;
		}

			header.major h2:after {
				display: block;
				content: '';
				width: 3.25em;
				height: 2px;
				margin: 0.7em 0 1em 0;
				border-radius: 2px;
			}

				section.special header.major h2:after, article.special header.major h2:after {
					margin-left: auto;
					margin-right: auto;
				}

		header.major p {
			font-size: 1.25em;
			letter-spacing: -0.025em;
		}

		header.major.special {
			text-align: center;
		}

			header.major.special h2:after {
				margin-left: auto;
				margin-right: auto;
			}

	footer.major {
		margin-top: 3em;
	}

	@media screen and (max-width: 736px) {

		header.major {
			margin-bottom: 0;
		}

			header.major h2 {
				font-size: 1.5em;
			}

			header.major p {
				font-size: 1em;
				letter-spacing: 0;
			}

				header.major p br {
					display: none;
				}

		footer.major {
			margin-top: 0;
		}

	}

	header.major h2:after {
		background-color: rgba(255, 255, 255, 0.35);
	}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px;
			border-left: 0;
			border-right: 0;
		}

		table td {
			padding: 0.75em 0.75em;
		}

		table th {
			font-size: 0.9em;
			font-weight: 400;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px;
		}

		table tfoot {
			border-top: solid 2px;
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px;
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

	table tbody tr {
		border-color: rgba(255, 255, 255, 0.35);
	}

		table tbody tr:nth-child(2n + 1) {
			background-color: rgba(255, 255, 255, 0.075);
		}

	table th {
		color: #ffffff;
	}

	table thead {
		border-bottom-color: rgba(255, 255, 255, 0.35);
	}

	table tfoot {
		border-top-color: rgba(255, 255, 255, 0.35);
	}

	table.alt tbody tr td {
		border-color: rgba(255, 255, 255, 0.35);
	}

/* Features */

	.features {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		width: calc(100% + 2em);
		margin: 0 0 3em -2em;
		padding: 0;
		list-style: none;
	}

		.features li {
			width: calc(33.33333% - 2em);
			margin-left: 2em;
			margin-top: 3em;
			padding: 0;
		}

			.features li:nth-child(1), .features li:nth-child(2), .features li:nth-child(3) {
				margin-top: 0;
			}

			.features li > :last-child {
				margin-bottom: 0;
			}

		@media screen and (max-width: 980px) {

			.features li {
				width: calc(50% - 2em);
			}

				.features li:nth-child(3) {
					margin-top: 3em;
				}

		}

		@media screen and (max-width: 736px) {

			.features {
				width: 100%;
				margin: 0 0 2em 0;
			}

				.features li {
					width: 100%;
					margin-left: 0;
					margin-top: 2em;
				}

					.features li:nth-child(2), .features li:nth-child(3) {
						margin-top: 2em;
					}

		}

/* Statistics */

	.statistics {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		width: 100%;
		margin: 0 0 3em 0;
		padding: 0;
		list-style: none;
		cursor: default;
	}

		.statistics li {
			-moz-flex: 1;
			-webkit-flex: 1;
			-ms-flex: 1;
			flex: 1;
			padding: 1.5em;
			color: #ffffff;
			text-align: center;
		}

			.statistics li.style1 {
				background-color: #efa8b0;
			}

			.statistics li.style2 {
				background-color: #c79cc8;
			}

			.statistics li.style3 {
				background-color: #a89cc8;
			}

			.statistics li.style4 {
				background-color: #9bb2e1;
			}

			.statistics li.style5 {
				background-color: #8cc9f0;
			}

			.statistics li strong, .statistics li b {
				display: block;
				font-size: 2em;
				line-height: 1.1;
				color: inherit !important;
				font-family: "Unbounded", "DM Sans", sans-serif;
				font-weight: 700;
				letter-spacing: 0;
			}

			.statistics li:first-child {
				border-top-left-radius: 8px;
				border-bottom-left-radius: 8px;
			}

			.statistics li:last-child {
				border-top-right-radius: 8px;
				border-bottom-right-radius: 8px;
			}

			.statistics li .icon {
				display: inline-block;
			}

				.statistics li .icon:before {
					font-size: 2.75rem;
					line-height: 1.3;
				}

		@media screen and (max-width: 980px) {

			.statistics li strong, .statistics li b {
				font-size: 1.5em;
			}

		}

		@media screen and (max-width: 736px) {

			.statistics {
				display: block;
				width: 20em;
				max-width: 100%;
				margin: 0 auto 2em auto;
			}

				.statistics li:first-child {
					border-bottom-left-radius: 0;
					border-top-right-radius: 8px;
				}

				.statistics li:last-child {
					border-top-right-radius: 0;
					border-bottom-left-radius: 8px;
				}

				.statistics li .icon:before {
					font-size: 3.75rem;
				}

				.statistics li strong, .statistics li b {
					font-size: 2.5em;
				}

		}

/* Spotlight */

	.spotlight {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		margin: 0 0 2em 0;
	}

		.spotlight .content {
			-moz-flex: 1;
			-webkit-flex: 1;
			-ms-flex: 1;
			flex: 1;
		}

			.spotlight .content > :last-child {
				margin-bottom: 0;
			}

			.spotlight .content header.major {
				margin: 0 0 2em 0;
			}

		.spotlight .image {
			display: inline-block;
			margin-left: 4em;
			padding: 0.65em;
			border-radius: 100%;
			border: solid 1px;
		}

			.spotlight .image img {
				display: block;
				border-radius: 100%;
				width: 16em;
			}

		@media screen and (max-width: 980px) {

			.spotlight {
				-moz-flex-direction: column-reverse;
				-webkit-flex-direction: column-reverse;
				-ms-flex-direction: column-reverse;
				flex-direction: column-reverse;
				text-align: center;
			}

				.spotlight .content {
					-moz-flex: 0 1 auto;
					-webkit-flex: 0 1 auto;
					-ms-flex: 0 1 auto;
					flex: 0 1 auto;
					width: 100%;
				}

					.spotlight .content header.major h2:after {
						margin-left: auto;
						margin-right: auto;
					}

					.spotlight .content .actions {
						-moz-justify-content: center;
						-webkit-justify-content: center;
						-ms-justify-content: center;
						justify-content: center;
						width: calc(100% + 1em);
					}

				.spotlight .image {
					-moz-flex: 0 1 auto;
					-webkit-flex: 0 1 auto;
					-ms-flex: 0 1 auto;
					flex: 0 1 auto;
					margin-left: 0;
					margin-bottom: 2em;
				}

		}

		@media screen and (max-width: 736px) {

			.spotlight .image {
				padding: 0.35em;
			}

				.spotlight .image img {
					width: 12em;
				}

		}

	.spotlight .image {
		border-color: rgba(255, 255, 255, 0.35);
	}

/* Header */

	#header {
		padding: 5em 5em 1em 5em ;
		text-align: center;
	}

		#header h1 {
			margin: 0 0 0.25em 0;
		}

		#header p {
			font-size: 1.25em;
			letter-spacing: -0.025em;
		}

		#header.alt {
			padding: 7em 5em 4em 5em ;
		}

			#header.alt h1 {
				font-size: 3.25em;
			}

			#header.alt > * {
				-moz-transition: opacity 3s ease;
				-webkit-transition: opacity 3s ease;
				-ms-transition: opacity 3s ease;
				transition: opacity 3s ease;
				-moz-transition-delay: 0.5s;
				-webkit-transition-delay: 0.5s;
				-ms-transition-delay: 0.5s;
				transition-delay: 0.5s;
				opacity: 1;
			}

			#header.alt .logo {
				-moz-transition: opacity 1.25s ease, -moz-transform 0.5s ease;
				-webkit-transition: opacity 1.25s ease, -webkit-transform 0.5s ease;
				-ms-transition: opacity 1.25s ease, -ms-transform 0.5s ease;
				transition: opacity 1.25s ease, transform 0.5s ease;
				-moz-transition-delay: 0s;
				-webkit-transition-delay: 0s;
				-ms-transition-delay: 0s;
				transition-delay: 0s;
				display: block;
				margin: 0 0 1.5em 0;
			}

				#header.alt .logo img {
					display: block;
					margin: 0 auto;
					max-width: 75%;
				}

		@media screen and (max-width: 1280px) {

			#header {
				padding: 4em 4em 0.1em 4em ;
			}

				#header.alt {
					padding: 6em 4em 3em 4em ;
				}

		}

		@media screen and (max-width: 980px) {

			#header {
				padding: 4em 3em 0.1em 3em ;
			}

				#header.alt {
					padding: 5em 3em 2em 3em ;
				}

		}

		@media screen and (max-width: 736px) {

			#header {
				padding: 3em 2em 0.1em 2em ;
			}

				#header p {
					font-size: 1em;
					letter-spacing: 0;
				}

					#header p br {
						display: none;
					}

				#header.alt {
					padding: 4em 2em 1em 2em ;
				}

					#header.alt h1 {
						font-size: 2.5em;
					}

		}

		@media screen and (max-width: 480px) {

			#header {
				padding: 3em 1.5em 0.1em 1.5em ;
			}

				#header.alt {
					padding: 4em 1.5em 1em 1.5em ;
				}

		}

		@media screen and (max-width: 360px) {

			#header {
				padding: 2.5em 1em 0.1em 1em ;
			}

				#header.alt {
					padding: 3.5em 1em 0.5em 1em ;
				}

		}

		body.is-preload #header.alt .logo {
			-moz-transform: scale(0.8) rotate(-30deg);
			-webkit-transform: scale(0.8) rotate(-30deg);
			-ms-transform: scale(0.8) rotate(-30deg);
			transform: scale(0.8) rotate(-30deg);
		}

/* Nav */

	#nav {
		-moz-transition: background-color 0.2s ease, border-top-left-radius 0.2s ease, border-top-right-radius 0.2s ease, padding 0.2s ease;
		-webkit-transition: background-color 0.2s ease, border-top-left-radius 0.2s ease, border-top-right-radius 0.2s ease, padding 0.2s ease;
		-ms-transition: background-color 0.2s ease, border-top-left-radius 0.2s ease, border-top-right-radius 0.2s ease, padding 0.2s ease;
		transition: background-color 0.2s ease, border-top-left-radius 0.2s ease, border-top-right-radius 0.2s ease, padding 0.2s ease;
		background-color: #ffffff;
		color: #636363;
		position: absolute;
		width: 80em;
		max-width: calc(100% - 4em);
		padding: 1em;
		background-color: #f7f7f7;
		border-top-left-radius: 0.25em;
		border-top-right-radius: 0.25em;
		cursor: default;
		text-align: center;
	}

		#nav input, #nav select, #nav textarea {
			color: #636363;
		}

		#nav a:hover {
			color: #636363;
		}

		#nav strong, #nav b {
			color: #636363;
		}

		#nav h1, #nav h2, #nav h3, #nav h4, #nav h5, #nav h6 {
			color: #636363;
		}

		#nav blockquote {
			border-left-color: #dddddd;
		}

		#nav code {
			background: rgba(222, 222, 222, 0.25);
			border-color: #dddddd;
		}

		#nav hr {
			border-bottom-color: #dddddd;
		}

		#nav + #main {
			padding-top: 4.25em;
		}

		#nav ul {
			margin: 0;
			padding: 0;
			list-style: none;
		}

			#nav ul li {
				-moz-transition: margin 0.2s ease;
				-webkit-transition: margin 0.2s ease;
				-ms-transition: margin 0.2s ease;
				transition: margin 0.2s ease;
				display: inline-block;
				margin: 0 0.35em;
				padding: 0;
				vertical-align: middle;
			}

				#nav ul li a {
					-moz-transition: font-size 0.2s ease;
					-webkit-transition: font-size 0.2s ease;
					-ms-transition: font-size 0.2s ease;
					transition: font-size 0.2s ease;
					display: inline-block;
					height: 2.25em;
					line-height: 2.25em;
					padding: 0 1em;
					border: 0;
					border-radius: 8px;
					box-shadow: inset 0 0 0 1px transparent;
				}

					#nav ul li a:hover {
						background-color: rgba(222, 222, 222, 0.25);
					}

					#nav ul li a.active {
						background-color: #ffffff;
						box-shadow: none;
					}

		#nav.alt {
			position: fixed;
			top: 0;
			padding: 0.5em 1em;
			background-color: rgba(247, 247, 247, 0.95);
			border-top-left-radius: 0;
			border-top-right-radius: 0;
			z-index: 10000;
		}

			#nav.alt ul li {
				margin: 0 0.175em;
			}

				#nav.alt ul li a {
					font-size: 0.9em;
				}

		@media screen and (max-width: 736px) {

			#nav {
				display: none;
			}

				#nav + #main {
					padding-top: 0;
				}

		}

/* Main */

	#main {
		background-color: #ffffff;
		color: #636363;
		border-radius: 0.25em;
	}

		#main input, #main select, #main textarea {
			color: #636363;
		}

		#main a:hover {
			color: #636363;
		}

		#main strong, #main b {
			color: #636363;
		}

		#main h1, #main h2, #main h3, #main h4, #main h5, #main h6 {
			color: #636363;
		}

		#main blockquote {
			border-left-color: #dddddd;
		}

		#main code {
			background: rgba(222, 222, 222, 0.25);
			border-color: #dddddd;
		}

		#main hr {
			border-bottom-color: #dddddd;
		}

		#main .box {
			border-color: #dddddd;
		}

		#main input[type="submit"],
		#main input[type="reset"],
		#main input[type="button"],
		#main button,
		#main .button {
			background-color: transparent;
			box-shadow: inset 0 0 0 1px #dddddd;
			color: #636363 !important;
		}

			#main input[type="submit"]:hover,
			#main input[type="reset"]:hover,
			#main input[type="button"]:hover,
			#main button:hover,
			#main .button:hover {
				background-color: rgba(222, 222, 222, 0.25);
			}

			#main input[type="submit"]:active,
			#main input[type="reset"]:active,
			#main input[type="button"]:active,
			#main button:active,
			#main .button:active {
				background-color: rgba(222, 222, 222, 0.5);
			}

			#main input[type="submit"].icon:before,
			#main input[type="reset"].icon:before,
			#main input[type="button"].icon:before,
			#main button.icon:before,
			#main .button.icon:before {
				color: rgba(99, 99, 99, 0.25);
			}

			#main input[type="submit"].primary,
			#main input[type="reset"].primary,
			#main input[type="button"].primary,
			#main button.primary,
			#main .button.primary {
				background-color: #8cc9f0;
				color: #ffffff !important;
				box-shadow: none;
			}

				#main input[type="submit"].primary:hover,
				#main input[type="reset"].primary:hover,
				#main input[type="button"].primary:hover,
				#main button.primary:hover,
				#main .button.primary:hover {
					background-color: #9acff2;
				}

				#main input[type="submit"].primary:active,
				#main input[type="reset"].primary:active,
				#main input[type="button"].primary:active,
				#main button.primary:active,
				#main .button.primary:active {
					background-color: #7ec3ee;
				}

				#main input[type="submit"].primary.icon:before,
				#main input[type="reset"].primary.icon:before,
				#main input[type="button"].primary.icon:before,
				#main button.primary.icon:before,
				#main .button.primary.icon:before {
					color: #ffffff !important;
				}

		#main label {
			color: #636363;
		}

		#main input[type="text"],
		#main input[type="password"],
		#main input[type="email"],
		#main select,
		#main textarea {
			background-color: rgba(222, 222, 222, 0.25);
			border-color: #dddddd;
		}

			#main input[type="text"]:focus,
			#main input[type="password"]:focus,
			#main input[type="email"]:focus,
			#main select:focus,
			#main textarea:focus {
				border-color: #8cc9f0;
				box-shadow: 0 0 0 1px #8cc9f0;
			}

		#main select {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23dddddd' /%3E%3C/svg%3E");
		}

			#main select option {
				color: #636363;
				background: #ffffff;
			}

		#main input[type="checkbox"] + label,
		#main input[type="radio"] + label {
			color: #636363;
		}

			#main input[type="checkbox"] + label:before,
			#main input[type="radio"] + label:before {
				background: rgba(222, 222, 222, 0.25);
				border-color: #dddddd;
			}

		#main input[type="checkbox"]:checked + label:before,
		#main input[type="radio"]:checked + label:before {
			background-color: #636363;
			border-color: #636363;
			color: #ffffff;
		}

		#main input[type="checkbox"]:focus + label:before,
		#main input[type="radio"]:focus + label:before {
			border-color: #8cc9f0;
			box-shadow: 0 0 0 1px #8cc9f0;
		}

		#main ::-webkit-input-placeholder {
			color: rgba(99, 99, 99, 0.25) !important;
		}

		#main :-moz-placeholder {
			color: rgba(99, 99, 99, 0.25) !important;
		}

		#main ::-moz-placeholder {
			color: rgba(99, 99, 99, 0.25) !important;
		}

		#main :-ms-input-placeholder {
			color: rgba(99, 99, 99, 0.25) !important;
		}

		#main .formerize-placeholder {
			color: rgba(99, 99, 99, 0.25) !important;
		}

		#main .icon.major {
			border-color: #dddddd;
		}

			#main .icon.major:before {
				border-color: #dddddd;
			}

		#main .icon.alt {
			border-color: #dddddd;
			color: #636363;
		}

			#main .icon.alt:hover {
				background-color: rgba(222, 222, 222, 0.25);
			}

			#main .icon.alt:active {
				background-color: rgba(222, 222, 222, 0.5);
			}

		#main ul.alt li {
			border-top-color: #dddddd;
		}

		#main dl dt {
			color: #636363;
		}

		#main header.major h2:after {
			background-color: #dddddd;
			background-image: -moz-linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);
			background-image: -webkit-linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);
			background-image: -ms-linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);
			background-image: linear-gradient(90deg, #efa8b0, #a89cc8, #8cc9f0);
		}

		#main table tbody tr {
			border-color: #dddddd;
		}

			#main table tbody tr:nth-child(2n + 1) {
				background-color: rgba(222, 222, 222, 0.25);
			}

		#main table th {
			color: #636363;
		}

		#main table thead {
			border-bottom-color: #dddddd;
		}

		#main table tfoot {
			border-top-color: #dddddd;
		}

		#main table.alt tbody tr td {
			border-color: #dddddd;
		}

		#main .spotlight .image {
			border-color: #dddddd;
		}

		#main > .main {
			padding: 5em 5em 3em 5em ;
			border-top: solid 1px #dddddd;
		}

			#main > .main:first-child {
				border-top: 0;
			}

			#main > .main > .image.main:first-child {
				margin: -5em 0 5em -5em;
				width: calc(100% + 10em);
				border-top-right-radius: 0.25em;
				border-top-left-radius: 0.25em;
				border-bottom-right-radius: 0;
				border-bottom-left-radius: 0;
			}

				#main > .main > .image.main:first-child img {
					border-top-right-radius: 0.25em;
					border-top-left-radius: 0.25em;
					border-bottom-right-radius: 0;
					border-bottom-left-radius: 0;
				}

		@media screen and (max-width: 1280px) {

			#main > .main {
				padding: 4em 4em 2em 4em ;
			}

				#main > .main > .image.main:first-child {
					margin: -4em 0 4em -4em;
					width: calc(100% + 8em);
				}

		}

		@media screen and (max-width: 980px) {

			#main > .main {
				padding: 4em 3em 2em 3em ;
			}

				#main > .main > .image.main:first-child {
					margin: -4em 0 4em -3em;
					width: calc(100% + 6em);
				}

		}

		@media screen and (max-width: 736px) {

			#main > .main {
				padding: 3em 2em 1em 2em ;
			}

				#main > .main > .image.main:first-child {
					margin: -3em 0 2em -2em;
					width: calc(100% + 4em);
				}

		}

		@media screen and (max-width: 480px) {

			#main > .main {
				padding: 3em 1.5em 1em 1.5em ;
			}

				#main > .main > .image.main:first-child {
					margin: -3em 0 1.5em -1.5em;
					width: calc(100% + 3em);
				}

		}

		@media screen and (max-width: 360px) {

			#main {
				border-radius: 0;
			}

				#main > .main {
					padding: 2.5em 1em 0.5em 1em ;
				}

					#main > .main > .image.main:first-child {
						margin: -2.5em 0 1.5em -1em;
						width: calc(100% + 2em);
						border-radius: 0;
					}

						#main > .main > .image.main:first-child img {
							border-radius: 0;
						}

		}

/* Footer */

	#footer {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding: 5em 5em 3em 5em ;
		width: calc(100% + 2em);
		margin: 0 0 3em -2em;
	}

		#footer > * {
			width: calc(50% - 2em);
			margin-left: 2em;
		}

		#footer .copyright {
			width: 100%;
			margin: 2.5em 0 2em 0;
			font-size: 0.8em;
			text-align: center;
		}

		@media screen and (max-width: 1280px) {

			#footer {
				padding: 4em 4em 2em 4em ;
			}

		}

		@media screen and (max-width: 980px) {

			#footer {
				padding: 4em 3em 2em 3em ;
				display: block;
				margin: 0 0 3em 0;
				width: 100%;
			}

				#footer > * {
					width: 100%;
					margin-left: 0;
					margin-bottom: 3em;
				}

				#footer .copyright {
					text-align: left;
				}

		}

		@media screen and (max-width: 736px) {

			#footer {
				padding: 3em 2em 1em 2em ;
			}

		}

		@media screen and (max-width: 480px) {

			#footer {
				padding: 3em 1.5em 1em 1.5em ;
			}

		}

		@media screen and (max-width: 480px) {

			#footer {
				padding: 2.5em 1em 0.5em 1em ;
			}

		}

/* Wrapper */

	#wrapper {
		width: 80em;
		max-width: calc(100% - 4em);
		margin: 0 auto;
	}

		@media screen and (max-width: 480px) {

			#wrapper {
				max-width: calc(100% - 2em);
			}

		}

		@media screen and (max-width: 360px) {

			#wrapper {
				max-width: 100%;
			}

		}
/* Title header */

	/* Everything in the header is sized relative to its own width (cqi), so the
	   title scales smoothly with the screen instead of jumping at breakpoints. */

	#header.alt {
		container-type: inline-size;
		padding: 3em 0 6.5em 0;
	}

	.header-frame {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-text {
		background: #ffffff;
		border: 0.25em solid #1A1A1A;
		border-radius: 1em;
		box-shadow: 1cqi 1cqi 0 rgba(26, 26, 26, 0.6);
		box-sizing: border-box;
		flex: 0 0 46cqi;
		padding: 3cqi;
	}

	.header-text h1, .header-text .subtitle {
		color: #1A1A1A;
		margin: 0;
		text-align: center;
		text-wrap: balance;
	}

	#header.alt .header-text h1 {
		font-size: 5cqi;
		font-weight: 900;
		letter-spacing: 0;
		line-height: 1.15;
		margin-bottom: 0.25em;
	}

	/* Subtitle lines under the title (paragraphs, styled like the headings). */
	#header .header-text .subtitle {
		font-family: "Unbounded", "DM Sans", sans-serif;
		font-size: 1.7cqi;
		font-weight: 500;
		letter-spacing: normal;
		line-height: 1.5;
	}

	.header-image {
		flex: 0 0 auto;
		width: 24cqi;
		height: auto;
	}

	@media screen and (max-width: 736px) {

		#header.alt {
			padding-top: 1.5em;
		}

		.header-frame {
			gap: 2cqi;
		}

		.header-text {
			flex: 1 1 0;
			min-width: 0;
			padding: 3cqi 2cqi;
		}

		#header.alt .header-text h1 {
			font-size: 6cqi;
		}

		#header .header-text .subtitle {
			font-size: 2.8cqi;
		}

		.header-image {
			width: 23cqi;
		}

	}

/* Nav pill */

	/* The nav floats above the content as an outlined pill, like the title box. */

	#nav {
		background: transparent;
		border-radius: 0;
		padding: 0;
		margin-top: -4.5em;
		pointer-events: none;
	}

	#nav + #main {
		padding-top: 0;
	}

	/* One line at every width: links share the space, then the pill scrolls
	   sideways once they no longer fit. */

	#nav ul {
		position: relative;
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		box-sizing: border-box;
		width: calc(100% - 0.2em);
		pointer-events: auto;
		background: #ffffff;
		border: 0.15em solid #1A1A1A;
		border-radius: 2em;
		box-shadow: 0.2em 0.2em 0 rgba(26, 26, 26, 0.6);
		padding: 0.3em;
	}

	#nav ul::-webkit-scrollbar {
		display: none;
	}

	#nav ul li {
		flex: 1 0 auto;
		margin: 0;
		text-align: center;
	}

	#nav ul li a {
		display: block;
		white-space: nowrap;
		color: #1A1A1A;
		font-weight: 600;
		border-radius: 2em;
		padding: 0 0.8em;
	}

	#nav ul li a:hover {
		color: #1A1A1A;
		background-color: rgba(26, 26, 26, 0.08);
	}

	#nav ul li a.active {
		color: #ffffff;
		background-color: #1A1A1A;
	}

	#nav.alt {
		background: transparent;
		margin-top: 0;
		padding: 0;
		top: 0.75em;
	}

	@media screen and (max-width: 736px) {

		#header.alt {
			padding-bottom: 4.5em !important;
		}

		#nav {
			display: block;
			margin-top: -3.75em;
		}

	}

	@media screen and (max-width: 480px) {

		#nav {
			max-width: calc(100% - 2em);
		}

	}

/* Nav: tighten the links as the screen narrows */

	/* Up to 1400px, not 1280px: the template's text size jumps up at 1281px,
	   which would otherwise push the last link out of the pill. */
	@media screen and (max-width: 1400px) {

		#nav ul li a {
			padding: 0 0.8em;
		}

	}

	@media screen and (max-width: 1100px) {

		#nav ul li a {
			font-size: 0.85em;
			padding: 0 0.75em;
		}

	}

/* Footer */

	/* Black text on the cream background. Left: UCT block with acknowledgement and
	   logos. Right: department contact details. */

	#footer, #footer h2, #footer h3, #footer p, #footer dt, #footer dd, #footer a, #footer a:hover, #footer strong, #footer b {
		color: #1A1A1A;
	}

	#footer h2 {
		font-size: 1.3em;
		font-weight: 700;
		line-height: 1.3;
		margin-bottom: 0.25em;
	}

	#footer h3 {
		font-size: 0.85em;
		font-weight: 500;
		margin-bottom: 1.25em;
	}

	#footer section:nth-of-type(2) {
		display: flex;
		flex-direction: column;
	}

	#footer section:nth-of-type(2) h2 {
		margin-bottom: 2em;
	}

	#footer p {
		font-weight: 400;
		margin-bottom: 1.5em;
	}

	#footer dl {
		flex: 1;
		display: grid;
		grid-template-columns: max-content 1fr;
		column-gap: 1.5em;
		row-gap: 0.75em;
		align-content: space-between;
		margin: 0;
	}

	#footer dt {
		font-weight: 700;
		margin: 0;
	}

	#footer dd {
		font-weight: 400;
		margin: 0;
	}


	/* The logos share the column width in proportion to their shapes, so the
	   row always fills the column and scales with it. */

	#footer .footer-logos {
		display: flex;
		align-items: center;
		gap: 1.5em;
		list-style: none;
		margin: 0;
		padding: 0;
	}

		#footer .footer-logos li {
			flex: 1 1 0;
			min-width: 0;
			padding: 0;
		}

		#footer .footer-logos li:nth-child(3) {
			flex-grow: 1.55;
		}

		#footer .footer-logos li:nth-child(4) {
			flex-grow: 2.4;
		}

		#footer .footer-logos img {
			display: block;
			width: 100%;
			height: auto;
		}

	#footer .copyright {
		padding-top: 1em;
		width: calc(100% - 2.5em);
		margin-left: 2.5em;
		color: rgba(26, 26, 26, 0.7);
	}

	@media screen and (max-width: 980px) {

		#footer section:nth-of-type(2) h2 {
			margin-bottom: 0.75em;
		}

		#footer .copyright {
			width: 100%;
			margin-left: 0;
		}

	}

/* Poster panels */

	/* Each section is its own outlined card on the cream background, with its
	   heading as a tab sitting on the top edge (positioned against the card,
	   hence position: relative). */

	#main, #nav + #main {
		background: transparent;
		border-radius: 0;
		color: #1A1A1A;
		padding-top: 2.5em;
	}

	#main > .main {
		position: relative;
		background: #ffffff;
		border: 0.18em solid #1A1A1A;
		border-radius: 1.25em;
		box-shadow: 0.4em 0.4em 0 rgba(26, 26, 26, 0.6);
		padding: 2.75em 3em 1.25em 3em;
		margin-bottom: 5em;
	}

	#main > .main:first-child {
		border-top: 0.18em solid #1A1A1A;
	}

	#main > .main:last-of-type {
		margin-bottom: 2em;
	}

	#main > .main > header.major {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -55%);
		max-width: calc(100% - 2em);
		margin: 0;
	}

	#main > .main > header.major h2 {
		display: inline-block;
		margin: 0;
		padding: 0.4em 1.3em;
		background: #ffffff;
		border: 0.12em solid #1A1A1A;
		border-radius: 0.8em;
		box-shadow: 0.18em 0.18em 0 rgba(26, 26, 26, 0.6);
		color: #1A1A1A;
		font-size: 1.4em;
		font-weight: 900;
		line-height: 1.3;
		white-space: nowrap;
	}

	#main > .main > header.major h2:after {
		display: none;
	}

	#main h2, #main h3, #main h4, #main strong, #main b, #main dt {
		color: #1A1A1A;
	}

	/* Body text in the cards: a comfortable reading width, centred in the
	   card, left-aligned. */
	#main > .main > p {
		max-width: 46em;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
		text-align: left;
		color: #1A1A1A;
		font-size: 1.1em;
		font-weight: 400;
	}

	#main > .main > p:last-child {
		margin-bottom: 0.5em;
	}

	@media screen and (max-width: 980px) {

		#main > .main {
			padding: 2.6em 2.5em 1.1em 2.5em;
		}

	}

	@media screen and (max-width: 736px) {

		#main > .main {
			padding: 2.4em 1.5em 1em 1.5em;
			margin-bottom: 4em;
		}

		#main > .main > header.major h2 {
			font-size: 1.15em;
		}

	}

/* Numbered list (e.g. Objectives) */

	/* Each item: a number in a circle, a large title, then its description. */

	#main ol.numbered {
		counter-reset: numbered;
		list-style: none;
		max-width: 46em;
		margin: 0 auto 0.5em auto;
		padding: 0;
		text-align: left;
	}

		#main ol.numbered > li {
			counter-increment: numbered;
			display: grid;
			grid-template-columns: 2.2em 1fr;
			column-gap: 0.9em;
			align-items: start;
			margin: 0 0 1.1em 0;
			padding: 0;
		}

		#main ol.numbered > li:last-child {
			margin-bottom: 0;
		}

		#main ol.numbered > li:before {
			content: counter(numbered);
			grid-row: 1 / span 2;
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.2em;
			height: 2.2em;
			border-radius: 50%;
			background: #1A1A1A;
			color: #ffffff;
			font-family: "Unbounded", "DM Sans", sans-serif;
			font-weight: 700;
			font-size: 0.9em;
			box-shadow: 0.15em 0.15em 0 rgba(26, 26, 26, 0.35);
		}

		#main ol.numbered h3 {
			margin: 0.1em 0 0.2em 0;
			font-size: 1.1em;
			font-weight: 700;
			line-height: 1.3;
			text-align: left;
		}

		#main ol.numbered p {
			margin: 0;
			color: #1A1A1A;
			font-size: 1.05em;
			font-weight: 400;
		}

/* Models: exposure tiles, scale and finding callout */

	/* Three tiles ordered by prior exposure to the target language, with a
	   less -> more scale underneath. On phones the tiles stack and the scale
	   turns vertical beside them. */

	#main .exposure {
		max-width: 52em;
		margin: 1.75em auto 0 auto;
	}

	#main .exposure-models {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5em;
		list-style: none;
		margin: 0;
		padding: 0;
	}

		#main .exposure-models > li {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: flex-start;
			gap: 0.6em;
			margin: 0;
			padding: 0;
			text-align: center;
		}

		#main .exposure-models img {
			display: block;
			width: 3.75em;
			height: 3.75em;
			object-fit: contain;
		}

		#main .exposure-models h3 {
			margin: 0;
			font-size: 1.05em;
			font-weight: 700;
			line-height: 1.35;
		}

		#main .exposure-models p {
			margin: 0;
			color: #1A1A1A;
			font-size: 1em;
			font-weight: 400;
			line-height: 1.55;
		}

	#main .exposure-scale {
		position: relative;
		display: flex;
		justify-content: space-between;
		margin-top: 1.75em;
		padding-top: 1.1em;
		color: #1A1A1A;
		font-size: 0.8em;
		font-weight: 600;
		letter-spacing: 0.02em;
		text-transform: uppercase;
	}

		#main .exposure-scale:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0.6em;
			height: 0.35em;
			border-radius: 0.35em;
			background: linear-gradient(90deg, rgba(217, 65, 79, 0.25), #D9414F);
		}

		#main .exposure-scale:after {
			content: '';
			position: absolute;
			top: -0.35em;
			right: 0;
			border-style: solid;
			border-width: 0.525em 0 0.525em 0.8em;
			border-color: transparent transparent transparent #D9414F;
		}

	/* Hanging indent: the bold label is its own column and wrapped lines
	   line up with the start of the sentence, not under the label. */
	#main p.callout {
		display: grid;
		grid-template-columns: auto 1fr;
		column-gap: 0.4em;
		max-width: 40em;
		margin-top: 2em;
		padding: 0.9em 1.25em;
		border: 0.15em solid #1A1A1A;
		border-radius: 0.8em;
		box-shadow: 0.25em 0.25em 0 rgba(26, 26, 26, 0.35);
		color: #1A1A1A;
		font-size: 1.05em;
		font-weight: 400;
		text-align: left;
	}

	@media screen and (max-width: 736px) {

		#main .exposure {
			display: grid;
			grid-template-columns: 1.6em 1fr;
			column-gap: 0.75em;
		}

		#main .exposure-models {
			grid-column: 2;
			grid-template-columns: 1fr;
			gap: 0.9em;
		}

			#main .exposure-models > li {
				display: grid;
				grid-template-columns: 2.5em 1fr;
				column-gap: 0.9em;
				row-gap: 0.2em;
				align-items: start;
				text-align: left;
			}

			#main .exposure-models > li img {
				grid-row: 1 / span 2;
			}

			#main .exposure-models img {
				width: 2.5em;
				height: 2.5em;
			}

		#main .exposure-scale {
			grid-column: 1;
			grid-row: 1;
			flex-direction: row;
			align-items: center;
			margin: 0;
			padding: 0;
			font-size: 0.65em;
			writing-mode: vertical-rl;
		}

			#main .exposure-scale .long {
				display: none;
			}

			#main .exposure-scale:before {
				top: 3.4em;
				bottom: 4.2em;
				left: 50%;
				right: auto;
				width: 0.35em;
				height: auto;
				transform: translateX(-50%);
				background: linear-gradient(180deg, rgba(217, 65, 79, 0.25), #D9414F);
			}

			#main .exposure-scale:after {
				top: auto;
				bottom: 3.5em;
				right: auto;
				left: 50%;
				transform: translateX(-50%);
				border-width: 0.8em 0.525em 0 0.525em;
				border-color: #D9414F transparent transparent transparent;
			}

	}

/* Text beside a figure (e.g. Methodology) */

	/* Text on the left, figure on the right; stacks on smaller screens. */

	#main .text-figure {
		display: grid;
		grid-template-columns: 1.1fr 1fr;
		align-items: center;
		gap: 2.5em;
		text-align: left;
	}

		#main .text-figure ol.numbered {
			max-width: none;
			margin: 0;
		}

		#main .text-figure > * {
			min-width: 0;
		}

		#main .text-figure figure {
			margin: 0;
		}

			#main .text-figure figure img {
				display: block;
				width: 100%;
				height: auto;
				border: 0.18em solid #1A1A1A;
				border-radius: 0;
			}

		/* Annotated figure: label and arrow overlaid on the image. The frame
		   moves to the wrapper so the overlay lines up with the image exactly;
		   sizes use cqi so the label scales with the figure. */
		#main .annotated {
			position: relative;
			container-type: inline-size;
			border: 0.18em solid #1A1A1A;
		}

			#main figure .annotated img {
				display: block;
				width: 100%;
				height: auto;
				border: 0;
			}

			#main .annotated .annotation-arrow {
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				pointer-events: none;
			}

			#main .annotated .annotation {
				position: absolute;
				top: 31%;
				left: 52%;
				width: 44%;
				margin: 0;
				color: #1A1A1A;
				font-family: "Unbounded", "DM Sans", sans-serif;
				font-size: 3.3cqi;
				font-weight: 700;
				line-height: 1.3;
				text-align: center;
			}

		#main figure figcaption {
			margin-top: 0.75em;
			color: #595959;
			font-size: 0.9em;
			font-style: italic;
			line-height: 1.5;
			text-align: center;
		}

		#main .figure-placeholder {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			aspect-ratio: 4 / 3;
			border: 0.12em dashed rgba(26, 26, 26, 0.35);
			border-radius: 0.8em;
			color: rgba(26, 26, 26, 0.6);
			font-weight: 600;
			line-height: 1.4;
			text-align: center;
		}

	@media screen and (max-width: 980px) {

		#main .text-figure {
			grid-template-columns: 1fr;
			gap: 2em;
		}

	}

/* Results: toggle between model families */

	/* Pill toggle styled like the nav (active = solid ink chip). Panels are
	   switched by main.js; without JavaScript both panels simply show. */

	/* Help text styled like figure captions. */
	#main .toggle-intro {
		margin-bottom: 0.9em !important;
		color: #595959 !important;
		font-size: 0.9em !important;
		font-style: italic;
		line-height: 1.5;
		text-align: center !important;
	}

	/* Two equal-width pills, centred as a group. */
	#main .toggle {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75em;
		width: fit-content;
		margin: 0 auto 1.5em auto;
	}

		#main .toggle button {
			height: auto;
			min-width: 0;
			margin: 0;
			padding: 0.55em 1.5em;
			background: #ffffff;
			border: 0.12em solid #1A1A1A;
			border-radius: 2em;
			box-shadow: none;
			color: #1A1A1A !important;
			font-family: "DM Sans", Helvetica, sans-serif;
			font-size: 1em;
			font-weight: 700;
			line-height: 1.3;
			transition: none;
		}

		#main .toggle button:hover {
			background: rgba(26, 26, 26, 0.08);
		}

		#main .toggle button[aria-selected="true"] {
			background: #1A1A1A;
			color: #ffffff !important;
		}

		#main .toggle button:focus-visible {
			outline: 0.15em solid #D9414F;
			outline-offset: 0.2em;
		}

	@media screen and (max-width: 480px) {

		#main .toggle {
			width: 100%;
			gap: 0.5em;
		}

			#main .toggle button {
				padding: 0.5em 0.5em;
				font-size: 0.85em;
			}

	}

	/* Only when both panels show (no JavaScript); never above the selected one. */
	#main .toggle-panel:not([hidden]) + .toggle-panel:not([hidden]) {
		margin-top: 2.5em;
	}

	#main .toggle-panel[hidden] {
		display: none;
	}

	#main .toggle-panel:focus {
		outline: none;
	}

	#main .key-results {
		margin: 0;
		padding: 0 0 0 1.25em;
		list-style: disc;
	}

		#main .key-results li {
			margin: 0 0 0.75em 0;
			padding: 0 0 0 0.25em;
			color: #1A1A1A;
			font-size: 1.05em;
			font-weight: 400;
		}

		#main .key-results li::marker {
			color: #1A1A1A;
		}

	#main .panel-link {
		margin: 2em 0 0.5em 0 !important;
		text-align: center !important;
		max-width: none !important;
	}

	#main .pill-link {
		display: inline-block;
		padding: 0.55em 1.5em;
		border: 0.12em solid #1A1A1A;
		border-radius: 2em;
		color: #1A1A1A;
		font-weight: 700;
		text-decoration: none;
		transition: background-color 0.35s ease, color 0.35s ease;
	}

		#main .pill-link:hover {
			background: #1A1A1A;
			color: #ffffff !important;
		}

/* Results: grouped result figures */

	/* Each results panel is split into analysis groups (downstream,
	   cross-lingual geometry), each with a small heading. Pairs of plots sit
	   side by side and stack on phones. */

	/* Groups are separated by the poster's beaded divider (divider.png). */
	#main .result-group + .result-group {
		margin-top: 1.75em;
		padding-top: 5.4em;
		background: url("../../images/theme/divider.png") center top / min(100%, 56em) auto no-repeat;
	}

	/* A paragraph after a plot (member pages) gets the same breathing room as a callout. */
	#main .result-group > figure + p:not(.callout) {
		margin-top: 1.4em;
	}

	#main .result-heading {
		margin: 0 0 1.25em 0;
		font-size: 1.1em;
		text-align: center;
	}

	/* Intro text under a group heading, like the card paragraphs. */
	#main .result-group > p:not(.callout) {
		max-width: 46em;
		margin: 0 auto 1.1em auto;
		color: #1A1A1A;
		font-size: 1.1em;
		font-weight: 400;
		text-align: left;
	}

	#main .figure-single {
		max-width: 28em;
		margin: 0 auto;
	}

	#main .figure-pair {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2em;
		max-width: 50em;
		margin: 0 auto;
	}

		#main .figure-pair figure {
			margin: 0;
			min-width: 0;
		}

	/* Finding box sized to its text, so it stays on one line where it fits. */
	#main .result-group > p.callout {
		width: fit-content;
		max-width: 100%;
		margin: 1.5em auto 0 auto;
	}

	@media screen and (max-width: 736px) {

		#main .figure-pair {
			grid-template-columns: 1fr;
			gap: 1.5em;
		}

	}

/* Conclusions: three takeaways side by side */

	/* Short titled points on a shared left edge; stacks on smaller screens. */

	#main ul.takeaways {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2.5em;
		list-style: none;
		margin: 0.5em 0 0.5em 0;
		padding: 0;
	}

		#main ul.takeaways > li {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			margin: 0;
			padding: 0;
			text-align: left;
		}

		#main ul.takeaways h3 {
			margin: 0 0 0.5em 0;
			text-align: left;
			font-size: 1.1em;
			line-height: 1.3;
		}

		#main ul.takeaways p {
			margin: 0;
			color: #1A1A1A;
			font-size: 1.05em;
			font-weight: 400;
			line-height: 1.6;
		}

	@media screen and (max-width: 980px) {

		#main ul.takeaways {
			grid-template-columns: 1fr;
			gap: 1.75em;
		}

	}

/* Resources: documents per person, as in babylm-greek */

	/* One column per person plus the overall project, each with a stack of
	   equal-width pill links; stacks on smaller screens. */

	#main > .main > p.resources-intro {
		text-align: center;
		margin-bottom: 1.75em;
	}

	#main ul.resources {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2em;
		list-style: none;
		margin: 0 0 0.5em 0;
		padding: 0;
	}

		#main ul.resources > li {
			display: flex;
			flex-direction: column;
			align-items: center;
			margin: 0;
			padding: 0;
		}

		#main ul.resources h3 {
			margin: 0 0 1em 0;
			font-size: 1.1em;
			line-height: 1.3;
		}

	#main .resource-links {
		display: flex;
		flex-direction: column;
		gap: 0.75em;
		width: 100%;
		max-width: 15em;
		margin: 0;
		padding: 0;
		list-style: none;
	}

		#main .resource-links li {
			margin: 0;
			padding: 0;
		}

		#main .resource-links .pill-link {
			display: block;
			text-align: center;
		}

	/* Icon before each resource label (Font Awesome, from the template). */
	#main .pill-link .icon {
		margin-right: 0.5em;
		border: 0;
	}

		#main .pill-link .icon:before {
			font-size: 0.95em;
			line-height: 1;
		}

	@media screen and (max-width: 980px) {

		#main ul.resources {
			grid-template-columns: 1fr;
			gap: 2em;
		}

	}

/* Project Group: one column per person, as in babylm-greek */

	/* Name, role, then round outlined icon links (email, GitHub, LinkedIn)
	   that fill with ink on hover; stacks on smaller screens. */

	#main ul.people {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2em;
		list-style: none;
		margin: 0.25em 0 0.5em 0;
		padding: 0;
	}

		#main ul.people > li {
			display: flex;
			flex-direction: column;
			align-items: center;
			margin: 0;
			padding: 0;
			text-align: center;
		}

		#main ul.people h3 {
			margin: 0 0 0.2em 0;
			font-size: 1.2em;
			line-height: 1.3;
		}

		#main ul.people p.role {
			margin: 0 0 1em 0;
			color: #595959;
			font-size: 0.95em;
			font-style: italic;
		}

	#main .contact-icons {
		display: flex;
		justify-content: center;
		gap: 0.75em;
		margin: 0;
		padding: 0;
		list-style: none;
	}

		#main .contact-icons li {
			margin: 0;
			padding: 0;
		}

		#main .contact-icons .icon {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 2.6em;
			height: 2.6em;
			border: 0.12em solid #1A1A1A;
			border-radius: 50%;
			color: #1A1A1A;
			transition: background-color 0.2s ease, color 0.2s ease;
		}

			#main .contact-icons .icon:before {
				font-size: 1.1em;
				line-height: 1;
			}

			#main .contact-icons .icon:hover {
				background: #1A1A1A;
				color: #ffffff;
			}

	@media screen and (max-width: 980px) {

		#main ul.people {
			grid-template-columns: 1fr;
			gap: 1.75em;
		}

	}

/* Member pages */

	/* Wide figures (grids, diagrams), bullet lists centred at reading width,
	   a small note line, and a single row of resource pills. */

	#main .figure-wide {
		max-width: 52em;
		margin: 1.5em auto 0 auto;
	}

		#main .figure-wide .figure-placeholder {
			aspect-ratio: 2 / 1;
		}

	#main > .main > .key-results,
	#main .result-group > .key-results {
		max-width: 46em;
		margin: 1.5em auto 0.5em auto;
		text-align: left;
	}

	#main > .main > header.major + .key-results {
		margin-top: 0;
	}

	#main > .main > p.note {
		margin-top: 1.5em;
		color: #595959;
		font-size: 0.9em;
		font-style: italic;
		text-align: center;
	}

		#main > .main > p.note a {
			color: inherit;
		}

	#main > .main > p.resources-outro {
		margin-top: 1.5em;
		text-align: center;
	}

	#main .resource-row {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75em;
		margin: 0.5em 0;
		padding: 0;
		list-style: none;
	}

		#main .resource-row li {
			margin: 0;
			padding: 0;
		}

	#main #contact-info ul.people {
		grid-template-columns: 1fr;
	}

/* Paired cards */

	/* The page is a two-column grid. Cards span both columns by default; the
	   pairs listed here share a row and stretch to equal height. Their content
	   is spread over the full height, so text in both cards starts and ends on
	   the same lines. Below 980px everything is one column again. */

	@media screen and (min-width: 981px) {

		#main {
			display: grid;
			grid-template-columns: 1fr 1fr;
			column-gap: 3em;
		}

		#main > .main {
			grid-column: 1 / -1;
		}

		#main > #background,
		#main > #objectives,
		#main > #overview,
		#main > #aims {
			grid-column: auto;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
		}

	}

/* Ocean scene (experiment) */

	/* The landscape stands on the bottom bead banner, full width, like the
	   bottom of the poster. It's an extra background layer on body, lifted by
	   the banner's height (banner is 95/1684.5 of the width). Delete this block
	   to remove it. */

	/* Layers, top to bottom: ocean scene, poster motifs (bg-pattern.svg),
	   paper grain (bg-paper.svg), cream base. */
	body {
		background-image:
			url("../../images/theme/ocean-footer.webp"),
			url("../../images/theme/bg-pattern.svg"),
			url("../../images/theme/bg-paper.svg"),
			linear-gradient(45deg, #fbefd9 15%, #fbefd9 85%);
		background-repeat: no-repeat, repeat, repeat, no-repeat;
		background-size: 101% auto, 1150px auto, 480px auto, auto;
		background-position: center bottom calc(100vw * 95 / 1684.5 - 2px), -120px 60px, 0 0, 0 0;
	}

	#wrapper {
		padding-bottom: calc(100vw * 186.75 / 1684.5 * 1.01);
	}

	/* Bring the scene up close under the design credit. */

	#footer {
		margin-bottom: 0;
		padding-bottom: 0.5em;
	}

	#footer .copyright {
		margin-bottom: 1em;
	}

/* Content width */

	/* Header, nav and cards use a narrower column than the page wrapper, so
	   text fills its cards; the footer keeps the full wrapper width. */

	#header.alt, #main {
		max-width: 64em;
		margin-left: auto;
		margin-right: auto;
	}

	#nav {
		width: 64em;
		left: 50%;
		transform: translateX(-50%);
	}

/* Term definitions: hover (or tap/focus) a dotted term to see a short definition. */

	#main .term {
		position: relative;
		border-bottom: 1px dotted #1A1A1A;
		cursor: help;
	}

	#main .term-def {
		position: absolute;
		bottom: calc(100% + 0.6em);
		left: 50%;
		z-index: 10;
		width: max-content;
		max-width: 16em;
		padding: 0.6em 0.9em;
		background: #ffffff;
		border: 0.15em solid #1A1A1A;
		border-radius: 0.8em;
		box-shadow: 0.25em 0.25em 0 rgba(26, 26, 26, 0.35);
		color: #1A1A1A;
		font-size: 0.85em;
		font-weight: 400;
		line-height: 1.45;
		text-align: left;
		opacity: 0;
		visibility: hidden;
		transform: translate(calc(-50% + var(--nudge, 0px)), 0.25em);
		transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
		pointer-events: none;
	}

	#main .term:hover .term-def,
	#main .term:focus .term-def {
		opacity: 1;
		visibility: visible;
		transform: translate(calc(-50% + var(--nudge, 0px)), 0);
	}

	#main .term:focus {
		outline: none;
	}

/* Member pages: "Back to Homepage" sits below the last card, outside it. */

	#main > .back-link {
		grid-column: 1 / -1;
		margin: 0 0 2em 0 !important;
	}

		/* White with the nav pill's border and shadow, so it reads on the cream. */
		#main > .back-link .pill-link {
			background: #ffffff;
			border-width: 0.15em;
			box-shadow: 0.2em 0.2em 0 rgba(26, 26, 26, 0.6);
		}

		#main > .back-link .pill-link:hover {
			background: #1A1A1A;
		}

/* Jumps and keyboard focus */

	/* Direct links to a section (e.g. index.html#results) stop with the tab
	   clear of the sticky nav, matching the nav's own scroll offset. */
	#main > .main {
		scroll-margin-top: 6.5em;
	}

	#nav ul li a:focus-visible,
	#main a:focus-visible,
	#footer a:focus-visible {
		outline: 2px solid #1A1A1A;
		outline-offset: 2px;
		border-radius: 2em;
	}

	#nav ul li a:focus-visible {
		outline-offset: -2px;
	}

/* Motion */

	/* Kept deliberately small. Everything here only applies when main.js has
	   added .motion to <html> (JavaScript on, and the visitor has not asked to
	   reduce motion), so without it the page is simply static. */

	/* 0. Hover (mouse only): the card's shadow deepens and its decoration
	   gives a small lift and tilt. The card itself never moves, so the
	   footsteps stay lined up with the next card. */
	@media (hover: hover) {

		.motion #main > .main {
			transition: box-shadow 0.45s ease;
		}

		.motion #main > .main:hover {
			box-shadow: 0.55em 0.55em 0 rgba(26, 26, 26, 0.7);
		}

		.motion #main > .main > header.major:before,
		.motion #main > .main > header.major:after {
			transform-origin: 50% 100%;
			transition: transform 0.55s cubic-bezier(0.45, 0, 0.25, 1);
		}

		.motion #main > .main:hover > header.major:before {
			transform: translateY(-3px) rotate(-3deg);
		}

		.motion #main > .main:hover > header.major:after {
			transform: translateY(-3px) rotate(3deg);
		}

	}

	/* 1. Results panels cross-fade when switched. */
	@keyframes panel-in {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	.motion #main .toggle-panel.is-switched {
		animation: panel-in 0.45s ease-out;
	}

	/* 2. The loss-curve arrow draws itself once, then its head appears. */
	.motion #main .annotated .arrow-line {
		stroke-dasharray: 1;
		stroke-dashoffset: 1;
		transition: stroke-dashoffset 1.3s cubic-bezier(0.45, 0, 0.25, 1) 0.3s;
	}

	.motion #main .annotated .arrow-head {
		opacity: 0;
		transition: opacity 0.5s ease 1.45s;
	}

	.motion #main .annotated.is-visible .arrow-line {
		stroke-dashoffset: 0;
	}

	.motion #main .annotated.is-visible .arrow-head {
		opacity: 1;
	}

	/* 3. The prior-exposure scale grows from "less" to "more", then its arrowhead appears. */
	.motion #main .exposure-scale:before {
		transform-origin: 0 50%;
		scale: 0 1;
		transition: scale 1.3s cubic-bezier(0.45, 0, 0.25, 1) 0.3s;
	}

	.motion #main .exposure-scale:after {
		opacity: 0;
		transition: opacity 0.5s ease 1.45s;
	}

	.motion #main .exposure-scale.is-visible:before {
		scale: 1 1;
	}

	.motion #main .exposure-scale.is-visible:after {
		opacity: 1;
	}

	@media screen and (max-width: 736px) {

		/* Vertical on phones: grows downwards instead. */
		.motion #main .exposure-scale:before {
			transform-origin: 50% 0;
			scale: 1 0;
		}

	}

	/* 4. Pages fade in on load, and moving between the homepage and member
	   pages cross-fades (in browsers that support view transitions; others
	   just get the fade-in). The cream background stays put, so only the
	   content fades. Same animation in and out of .is-preload, so it never
	   restarts when the template removes that class. */
	@keyframes page-in {
		from { opacity: 0; }
		to { opacity: 1; }
	}

	@media (prefers-reduced-motion: no-preference) {

		#wrapper,
		body.is-preload #wrapper {
			animation: page-in 0.6s ease-out both !important;
		}

		@view-transition {
			navigation: auto;
		}

		::view-transition-old(root),
		::view-transition-new(root) {
			animation-duration: 0.35s;
		}

	}

/* Longer page titles (member pages): smaller, so each line stays whole. */

	#header.alt .header-text h1.title-long {
		font-size: 5.4cqi;
	}

	#header.alt .header-text h1.title-long.title-wide {
		font-size: 4.3cqi;
	}

	@media screen and (max-width: 736px) {

		#header.alt .header-text h1.title-long {
			font-size: 6cqi;
		}

		#header.alt .header-text h1.title-long.title-wide {
			font-size: 4.8cqi;
		}

	}

/* Figures that run to the edge of their image (e.g. diagrams) get breathing room inside the frame. */

	#main .annotated.padded {
		padding: 1.25em;
	}

	/* Diagrams use the card's full width so their small labels stay readable. */
	#main .figure-wide:has(> .annotated.padded) {
		max-width: none;
	}

	@media screen and (max-width: 736px) {

		#main .annotated.padded {
			padding: 0.5em;
		}

	}

/* Froh: the poster's title font, for page titles and the section heading tabs. */

/* DM Sans (body) and Unbounded (headings), self-hosted so the site needs no outside requests. */

	@font-face {
		font-family: "DM Sans";
		src: url("../webfonts/dm-sans-italic-latin-ext.woff2") format("woff2");
		font-style: italic;
		font-weight: 400 700;
		font-display: block;
		unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
	}

	@font-face {
		font-family: "DM Sans";
		src: url("../webfonts/dm-sans-italic-latin.woff2") format("woff2");
		font-style: italic;
		font-weight: 400 700;
		font-display: block;
		unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
	}

	@font-face {
		font-family: "DM Sans";
		src: url("../webfonts/dm-sans-latin-ext.woff2") format("woff2");
		font-style: normal;
		font-weight: 400 700;
		font-display: block;
		unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
	}

	@font-face {
		font-family: "DM Sans";
		src: url("../webfonts/dm-sans-latin.woff2") format("woff2");
		font-style: normal;
		font-weight: 400 700;
		font-display: block;
		unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
	}

	@font-face {
		font-family: "Unbounded";
		src: url("../webfonts/unbounded-latin-ext.woff2") format("woff2");
		font-style: normal;
		font-weight: 500 900;
		font-display: block;
		unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
	}

	@font-face {
		font-family: "Unbounded";
		src: url("../webfonts/unbounded-latin.woff2") format("woff2");
		font-style: normal;
		font-weight: 500 900;
		font-display: block;
		unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
	}

	@font-face {
		font-family: "Froh";
		src: url("../webfonts/froh.woff2") format("woff2");
		font-weight: normal;
		font-style: normal;
		font-display: block;
	}

	#header.alt .header-text h1 {
		font-family: "Froh", "Unbounded", "DM Sans", sans-serif;
		font-weight: normal;
	}

	#header.alt .header-text h1:not(.title-long) {
		font-size: 7.2cqi;
	}

	/* Section heading tabs (Background, Objectives, ...) on every page. */
	#main > .main > header.major h2 {
		font-family: "Froh", "Unbounded", "DM Sans", sans-serif;
		font-weight: normal;
		font-size: 1.6em;
		letter-spacing: 0.02em;
	}

	@media screen and (max-width: 736px) {

		#header.alt .header-text h1:not(.title-long) {
			font-size: 7.8cqi;
		}

		#main > .main > header.major h2 {
			font-size: 1.3em;
		}

	}

/* Title without its box: the text sits directly on the cream background. */

	.header-text {
		background: none !important;
		border: 0 !important;
		box-shadow: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	@media screen and (min-width: 737px) {

		.header-text {
			flex-basis: 51cqi !important;
		}

	}

/* Footsteps */

	/* Short trails walk from each card into the next, as on the poster. The
	   source image (footsteps.svg) is a trail walking up the page; each trail
	   is shown whole (never cropped) and rotated to walk down (or right).
	   Trails alternate sides down the page; the last card has none. Desktop:
	   the first card's trail walks right, across to the card beside it. */

	#main > .main:not(:last-of-type):after {
		content: '';
		position: absolute;
		z-index: 2;
		width: 6em;
		aspect-ratio: 133.5 / 176.25;
		background: url("../../images/theme/footsteps.svg") center / 100% 100% no-repeat;
		pointer-events: none;
	}

	/* Odd cards: leave the bottom-left corner. */
	#main > .main:nth-child(odd):not(:last-of-type):after {
		top: calc(100% - 1.4em);
		left: 3%;
		transform: rotate(180deg);
	}

	/* Even cards: leave the bottom-right corner (mirrored). */
	#main > .main:nth-child(even):not(:last-of-type):after {
		top: calc(100% - 1.4em);
		right: 3%;
		transform: rotate(180deg) scaleX(-1);
	}

	/* Desktop: the first card sits beside the second, so its trail crosses the
	   gap between them near the top, walking right. */
	@media screen and (min-width: 981px) {

		#main > .main:first-child:not(:last-of-type):after {
			top: 0.9em;
			left: auto;
			right: -4em;
			width: 5em;
			transform: rotate(90deg);
		}

	}

	@media screen and (max-width: 736px) {

		#main > .main:not(:last-of-type):after {
			width: 4.8em;
		}

		#main > .main:nth-child(odd):not(:last-of-type):after,
		#main > .main:nth-child(even):not(:last-of-type):after {
			top: calc(100% - 1.1em);
		}

	}

	@media print {

		#main > .main:after {
			display: none;
		}

	}

/* Poster decorations */

	/* Every card gets one object standing on its top edge beside the heading
	   tab, as on the poster: about the tab's height, close to it, and sunk
	   slightly into the card so it doesn't float. They are pseudo-elements on
	   the tab's header (no HTML needed), keyed by section id, so the member
	   pages get them too.

	   Each image file has some empty space around its artwork; the measured
	   fractions (--deco-padb bottom, --deco-padl / --deco-padr sides) cancel it,
	   so the visible artwork sits --deco-gap from the tab and --deco-sink
	   inside the card. Re-measure them if an image is replaced. */

	#main > .main > header.major:before,
	#main > .main > header.major:after {
		--deco-scale: 1;
		--deco-gap: 0.35em;
		--deco-sink: 1.2em;
		--deco-size: calc(var(--deco-h) * var(--deco-scale));
		--deco-width: calc(var(--deco-size) * var(--deco-arn));
		position: absolute;
		bottom: calc(45% - var(--deco-sink) - var(--deco-padb, 0) * var(--deco-size));
		height: var(--deco-size);
		width: var(--deco-width);
		background: var(--deco-img) center bottom / 100% 100% no-repeat;
		pointer-events: none;
	}

	/* Left of the tab: the artwork's right edge sits --deco-gap from the tab. */
	#main > .main > header.major:before {
		right: calc(100% + var(--deco-gap) - var(--deco-padr, 0) * var(--deco-width));
	}

	/* Right of the tab: the artwork's left edge sits --deco-gap from the tab. */
	#main > .main > header.major:after {
		left: calc(100% + var(--deco-gap) - var(--deco-padl, 0) * var(--deco-width));
	}

	/* Clay pots: Background / Overview, and Resources (a store of documents). */
	#background > header.major:after,
	#overview > header.major:after,
	#resources > header.major:before {
		content: '';
		--deco-img: url("../../images/decorations/containers.svg");
		--deco-arn: 1.589;
		--deco-h: 3.6em;
		--deco-padb: 0.092;
		--deco-padl: 0.088;
		--deco-padr: 0.097;
	}

	/* Blue crane: Objectives / Aims. */
	#objectives > header.major:before,
	#aims > header.major:before {
		content: '';
		--deco-img: url("../../images/decorations/blue-crane.svg");
		--deco-arn: 0.850;
		--deco-h: 3.5em;
		--deco-padb: 0.020;
		--deco-padl: 0.000;
		--deco-padr: 0.018;
	}

	/* Drums: Models, and Resources on the member pages (no Models card there,
	   and Overview already has the pots). */
	#models > header.major:before,
	#main:has(> #overview) > #resources > header.major:before {
		content: '';
		--deco-img: url("../../images/decorations/drums.svg");
		--deco-arn: 1.167;
		--deco-h: 3.7em;
		--deco-padb: 0.048;
		--deco-padl: 0.173;
		--deco-padr: 0.188;
	}

	/* Dancing women: Methodology. */
	#methodology > header.major:after {
		content: '';
		--deco-img: url("../../images/decorations/african-women.svg");
		--deco-arn: 1;
		--deco-h: 4.4em;
		--deco-padb: 0.122;
		--deco-padl: 0.085;
		--deco-padr: 0.120;
	}

	/* Shield: Results (where the findings live). */
	#results > header.major:before {
		content: '';
		--deco-img: url("../../images/decorations/shield.svg");
		--deco-arn: 1;
		--deco-h: 4.4em;
		--deco-padb: 0.113;
		--deco-padl: 0.340;
		--deco-padr: 0.365;
	}

	/* Pipe: Conclusions. */
	#conclusions > header.major:after,
	#conclusion > header.major:after {
		content: '';
		--deco-img: url("../../images/decorations/pipe.svg");
		--deco-arn: 1.5;
		--deco-h: 3.5em;
		--deco-padb: 0.092;
		--deco-padl: 0.108;
		--deco-padr: 0.118;
	}

	/* Group of dancers: Project Group / Contact. */
	#project-group > header.major:after,
	#contact-info > header.major:after {
		content: '';
		--deco-img: url("../../images/decorations/african-men.svg");
		--deco-arn: 2.370;
		--deco-h: 3.2em;
		--deco-padb: 0.007;
		--deco-padl: 0.004;
		--deco-padr: 0.008;
	}

	@media screen and (max-width: 736px) {

		#main > .main > header.major:before,
		#main > .main > header.major:after {
			--deco-scale: 0.68;
			--deco-gap: 0.25em;
			--deco-sink: 0.85em;
		}

		/* The wide group of dancers needs to be smaller to fit beside the tab. */
		#main > #project-group > header.major:after,
		#main > #contact-info > header.major:after {
			--deco-scale: 0.6;
		}

		/* Cards stack here, so each card's incoming footsteps arrive at its
		   top-left (even cards) or top-right (odd cards). Keep decorations on
		   the other side of the tab so they don't collide. */
		#main > .main:nth-child(even) > header.major:before {
			right: auto;
			left: calc(100% + var(--deco-gap) - var(--deco-padl, 0) * var(--deco-width));
		}

		#main > .main:nth-child(odd):not(:first-child) > header.major:after {
			left: auto;
			right: calc(100% + var(--deco-gap) - var(--deco-padr, 0) * var(--deco-width));
		}

	}

	/* Narrow phones: the "Project Group" tab leaves little room beside it. */
	@media screen and (max-width: 480px) {

		#main > #project-group > header.major:after {
			--deco-scale: 0.4;
		}

	}

	@media print {

		#main > .main > header.major:before,
		#main > .main > header.major:after {
			display: none;
		}

	}
