@layer reset, base, layout, components, utilities, overrides;

@import url("../html5up/css/fontawesome-all.min.css") layer(base);
@import url("./layout-utils.css") layer(utilities);

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

@layer reset {
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;}

html, body { margin: 0; height: 100%; }

	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;
}
}

@layer base {
	:root {
    --nav-color: #6FACDE;
		--expo-accent: #6FACDE;
		--expo-hero-title: #e7746f;
		--expo-page-bg: #ffffff;
		--site-header-h: 0px;
		--site-footer-h: 0px;
	}
}

/* Basic */

@layer base {
	html {
		box-sizing: border-box;
	}

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

	body {
		background: var(--expo-page-bg);
	}

		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;
		}

	body, input, select, textarea {
		color: #5c5e5f;
		font-family: 'Play', sans-serif;
		font-size: 15pt;
		font-weight: 400;
		letter-spacing: 0.025em;
		line-height: 1.75em;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		color: var(--expo-accent);
		text-decoration: none;
		border-bottom: dotted 1px;
	}

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

		a:visited {
			color: var(--expo-accent);
		}

	strong, b {
		font-weight: 700;
	}

	p, ul, ol, dl, table, blockquote {
		margin: 0 0 2em 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: inherit;
		font-weight: 600;
		line-height: 1.75em;
		margin-bottom: 1em;
		text-transform: uppercase;
	}

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

	h2 {
		font-size: 1.5em;
		letter-spacing: 0.1em;
	}

	h3 {
		font-size: 1.15em;
		letter-spacing: 0.025em;
	}

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

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

	hr {
		border-top: solid 1px rgba(124, 128, 129, 0.2);
		border: 0;
		margin-bottom: 1.5em;
	}

	blockquote {
		border-left: solid 0.5em rgba(124, 128, 129, 0.2);
		font-style: italic;
		padding: 1em 0 1em 2em;
	}
}

/* Container */

@layer layout {
	.container {
		margin: 0 auto;
		max-width: 100%;
		width: 1400px;
	}

		.container.medium {
			width: 1050px;
		}

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

			.container {
				width: 1200px;
			}

				.container.medium {
					width: 900px;
				}

		}

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

			.container {
				width: 960px;
			}

				.container.medium {
					width: 735px;
				}

		}

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

			.container {
				width: 95%;
			}

				.container.medium {
					width: 71.25%;
				}

		}

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

			.container {
				width: 95%;
			}

				.container.medium {
					width: 95%;
				}

		}

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

			.container {
				width: 100%;
        padding-left: 1.5em;
        padding-right: 1.5em;
			}

				.container.medium {
					width: 100%;
				}

		}

/* 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: 0px;
			margin-left: 0px;
		}

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

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

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

		.row.gtr-25 {
			margin-top: -12.5px;
			margin-left: -12.5px;
		}

			.row.gtr-25 > * {
				padding: 12.5px 0 0 12.5px;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -12.5px;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 12.5px;
				}

		.row.gtr-50 {
			margin-top: -25px;
			margin-left: -25px;
		}

			.row.gtr-50 > * {
				padding: 25px 0 0 25px;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -25px;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 25px;
				}

		.row {
			margin-top: -50px;
			margin-left: -50px;
		}

			.row > * {
				padding: 50px 0 0 50px;
			}

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

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

		.row.gtr-150 {
			margin-top: -75px;
			margin-left: -75px;
		}

			.row.gtr-150 > * {
				padding: 75px 0 0 75px;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -75px;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 75px;
				}

		.row.gtr-200 {
			margin-top: -100px;
			margin-left: -100px;
		}

			.row.gtr-200 > * {
				padding: 100px 0 0 100px;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -100px;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 100px;
				}

		@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-wide {
					order: -1;
				}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				.row.gtr-25 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-25 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 10px;
						}

				.row.gtr-50 {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row.gtr-50 > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 20px;
						}

				.row {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-uniform > * {
							padding-top: 40px;
						}

				.row.gtr-150 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-150 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 60px;
						}

				.row.gtr-200 {
					margin-top: -80px;
					margin-left: -80px;
				}

					.row.gtr-200 > * {
						padding: 80px 0 0 80px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -80px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 80px;
						}

		}

		@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-normal {
					order: -1;
				}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				.row.gtr-25 {
					margin-top: -10px;
					margin-left: -10px;
				}

					.row.gtr-25 > * {
						padding: 10px 0 0 10px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -10px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 10px;
						}

				.row.gtr-50 {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row.gtr-50 > * {
						padding: 20px 0 0 20px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -20px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 20px;
						}

				.row {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row > * {
						padding: 40px 0 0 40px;
					}

					.row.gtr-uniform {
						margin-top: -40px;
					}

						.row.gtr-uniform > * {
							padding-top: 40px;
						}

				.row.gtr-150 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-150 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 60px;
						}

				.row.gtr-200 {
					margin-top: -80px;
					margin-left: -80px;
				}

					.row.gtr-200 > * {
						padding: 80px 0 0 80px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -80px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 80px;
						}

		}

		@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-narrow {
					order: -1;
				}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				.row.gtr-25 {
					margin-top: -7.5px;
					margin-left: -7.5px;
				}

					.row.gtr-25 > * {
						padding: 7.5px 0 0 7.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -7.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 7.5px;
						}

				.row.gtr-50 {
					margin-top: -15px;
					margin-left: -15px;
				}

					.row.gtr-50 > * {
						padding: 15px 0 0 15px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -15px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 15px;
						}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-150 {
					margin-top: -45px;
					margin-left: -45px;
				}

					.row.gtr-150 > * {
						padding: 45px 0 0 45px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -45px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 45px;
						}

				.row.gtr-200 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-200 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 60px;
						}

		}

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

			.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-narrower {
					order: -1;
				}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				.row.gtr-25 {
					margin-top: -7.5px;
					margin-left: -7.5px;
				}

					.row.gtr-25 > * {
						padding: 7.5px 0 0 7.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -7.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 7.5px;
						}

				.row.gtr-50 {
					margin-top: -15px;
					margin-left: -15px;
				}

					.row.gtr-50 > * {
						padding: 15px 0 0 15px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -15px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 15px;
						}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-150 {
					margin-top: -45px;
					margin-left: -45px;
				}

					.row.gtr-150 > * {
						padding: 45px 0 0 45px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -45px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 45px;
						}

				.row.gtr-200 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-200 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 60px;
						}

		}

		@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-mobile {
					order: -1;
				}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				.row.gtr-25 {
					margin-top: -7.5px;
					margin-left: -7.5px;
				}

					.row.gtr-25 > * {
						padding: 7.5px 0 0 7.5px;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -7.5px;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 7.5px;
						}

				.row.gtr-50 {
					margin-top: -15px;
					margin-left: -15px;
				}

					.row.gtr-50 > * {
						padding: 15px 0 0 15px;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -15px;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 15px;
						}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}

					.row.gtr-uniform {
						margin-top: -30px;
					}

						.row.gtr-uniform > * {
							padding-top: 30px;
						}

				.row.gtr-150 {
					margin-top: -45px;
					margin-left: -45px;
				}

					.row.gtr-150 > * {
						padding: 45px 0 0 45px;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -45px;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 45px;
						}

				.row.gtr-200 {
					margin-top: -60px;
					margin-left: -60px;
				}

					.row.gtr-200 > * {
						padding: 60px 0 0 60px;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -60px;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 60px;
						}

		}

/* Expo Layout */

	#bg {
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
		pointer-events: none;
		opacity: 0;
		transition: opacity 1300ms cubic-bezier(0.16, 1, 0.3, 1) 140ms;
	}

	/* 例外: HTML5 UPの is-preload が全要素の transition を無効化するため、#bg だけはフェードを有効にする */
	body.is-preload #bg {
		transition: opacity 1300ms cubic-bezier(0.16, 1, 0.3, 1) 140ms !important;
	}

	body.index-page.hero-globe-visible #bg {
		opacity: 1;
	}

	#page-wrapper {
		position: relative;
		z-index: 1;
		min-height: 100svh;
		display: flex;
		flex-direction: column;
	}

	#main {
		flex: 1 1 auto;
		min-height: calc(100svh - var(--site-header-h) - var(--site-footer-h));
	}

}

/* Section/Article */

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

	header.major {
		padding-bottom: 2em;
	}

	header.special {
		margin-bottom: 5em;
		padding-top: 7em;
		position: relative;
		text-align: center;
    backdrop-filter: blur(10px);
    /* background: url(../img/spesial_bg.png) no-repeat center top / contain; */
	}

		header.special:before, header.special:after {
			border-bottom: solid 1.5px;
			border-top: solid 1.5px;
			content: '';
			height: 7px;
			opacity: 0.1;
			position: absolute;
			top: 1.75em;
			width: 43%;
		}

		header.special:before {
			left: 0;
		}

		header.special:after {
			right: 0;
		}

		header.special h2 {
			margin-bottom: 0;
      font-weight: bold;
		}

		header.special h2 + p {
			margin-bottom: 0;
			padding-top: 1.5em;
		}

		header.special .icon {
			cursor: default;
			height: 7em;
			left: 0;
			position: absolute;
			text-align: center;
			top: 1em;
			width: 100%;
		}

			header.special .icon:before {
				font-size: 3.5em;
				opacity: 0.35;
			}
      header.special .icon-flag {
        font-size: 60px;
        top: 0.25em;
        height: 1em;
      }

	footer > :last-child {
		margin-bottom: 0;
	}

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

/* Form */

	input[type="text"],
	input[type="password"],
	input[type="email"],
	textarea {
		-moz-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: none;
		border: solid 1px rgba(124, 128, 129, 0.2);
		border-radius: 0;
		color: inherit;
		display: block;
		padding: 0.75em;
		text-decoration: none;
		width: 100%;
		outline: 0;
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		textarea:focus {
			border-color: #83d3c9;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"] {
		line-height: 1em;
	}

	::-webkit-input-placeholder {
		color: inherit;
		opacity: 0.5;
		position: relative;
		top: 3px;
	}

	:-moz-placeholder {
		color: inherit;
		opacity: 0.5;
	}

	::-moz-placeholder {
		color: inherit;
		opacity: 0.5;
	}

	:-ms-input-placeholder {
		color: inherit;
		opacity: 0.5;
	}

/* Image */

	.image {
		border: 0;
		position: relative;
	}

		

		.image.fit {
			display: block;
		}

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

			.image.featured {
				display: block;
				margin: 0 0 2em 0;
			}

			.image.featured img {
				display: block;
				width: 100%;
			}

		.poster-image {
			display: block;
			width: 100%;
			max-width: 300px;
			height: auto;
			margin: 0 auto;
		}

			.image.featured.qi4u-logo {
				background: rgba(255, 255, 255, 0.8);
				border: solid 1px rgba(0, 0, 0, 0.15);
				border-radius: 0.5em;
				box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
				padding: 0.35em;
			}

			.image.featured.qi4u-logo img {
				border-radius: 0.35em;
			}

			.buttons.sponsor-logos .image.featured {
				display: flex;
				justify-content: center;
			}

				.buttons.sponsor-logos .image.featured img {
					width: auto;
					max-width: 100%;
					max-height: 200px;
				}
        .sponsor-logos .iqm-logo {
          max-height: 45px;
          margin-bottom: 60px;
        }

	/* Icon */

	.icon {
		text-decoration: 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.solid:before {
			font-weight: 900;
		}

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

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

		.icon.circle {
			-moz-transition: all 0.2s ease-in-out;
			-webkit-transition: all 0.2s ease-in-out;
			-ms-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
			border: 0;
			border-radius: 100%;
			display: inline-block;
			font-size: 1.25em;
			height: 2.25em;
			left: 0;
			line-height: 2.25em;
			text-align: center;
			text-decoration: none;
			top: 0;
			width: 2.25em;
		}

			.icon.circle:hover {
				top: -0.2em;
			}

			.icon.circle.fa-twitter {
				background: #70aecd;
				color: #fff;
			}

				.icon.circle.fa-twitter:hover {
					background: #7fb7d2;
				}

			.icon.circle.fa-facebook-f {
				background: #7490c3;
				color: #fff;
			}

				.icon.circle.fa-facebook-f:hover {
					background: #829bc9;
				}

			.icon.circle.fa-google-plus-g {
				background: #db6b67;
				color: #fff;
			}

				.icon.circle.fa-google-plus-g:hover {
					background: #df7b77;
				}

			.icon.circle.fa-github {
				background: #dcad8b;
				color: #fff;
			}

				.icon.circle.fa-github:hover {
					background: #e1b89b;
				}

			.icon.circle.fa-dribbble {
				background: #da83ae;
				color: #fff;
			}

				.icon.circle.fa-dribbble:hover {
					background: #df93b8;
				}

		.icon.featured {
			cursor: default;
			display: block;
			margin: 0 0 1.5em 0;
			opacity: 0.35;
			text-align: center;
		}

			.icon.featured:before {
				font-size: 5em;
				line-height: 1em;
			}

		.icon > .label {
			display: none;
		}

/* List */

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

		ol li {
			padding-left: 0.25em;
		}

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

		ul li {
			padding-left: 0.5em;
		}

/* Icons */

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

		ul.icons li {
			display: inline-block;
			line-height: 1em;
			padding-left: 0.5em;
		}

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

/* Featured Icons */

	ul.featured-icons {
		cursor: default;
		margin: -0.75em 0 0 0;
		opacity: 0.35;
		overflow: hidden;
		position: relative;
		list-style: none;
		padding-left: 0;
	}

		ul.featured-icons li {
			display: block;
			float: left;
			text-align: center;
			width: 50%;
			padding-left: 0;
			margin-bottom: 1em;
		}

			ul.featured-icons li .icon {
				display: inline-block;
				font-size: 5.5em;
				height: 1em;
				line-height: 1.5em;
				width: 1em;
			}

/* Buttons */

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

		ul.buttons:last-child {
			margin-bottom: 0;
		}

		ul.buttons li {
			display: inline-block;
			padding: 0 0 0 1.5em;
		}

			ul.buttons li:first-child {
				padding: 0;
			}

		ul.buttons.stacked li {
			display: block;
			padding: 1.5em 0 0 0;
		}

			ul.buttons.stacked li:first-child {
				padding: 0;
			}
  .buttons.sponsor-logos li {
    display: block;
    padding: 0 1.5em;
  }

/* Table */

	table {
		width: 100%;
	}

		table.default {
			width: 100%;
		}
			table.default thead tr {
				border-bottom: solid 2px rgba(124, 128, 129, 0.6);
			}

			table.default tbody tr {
				border-bottom: solid 1px rgba(124, 128, 129, 0.2);
			}

			table.default td {
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default th {
				font-weight: 400;
				padding: 0.5em 1em 0.5em 1em;
				text-align: left;
			}

			table.default thead {
				background: #f5fdff67;
				/* color: #fff; */
			}

/* Timetable */

	.timetable {
		--timetable-day-col: clamp(7.5rem, 14vw, 10.5rem);
		--timetable-time-col: clamp(9.5rem, 18vw, 13.5rem);
		background: rgba(255, 255, 255, 0.4);
		border: solid 1px rgba(124, 128, 129, 0.2);
		border-radius: 10px;
		overflow: hidden;
		width: 100%;
	}

	.timetable-header {
		display: grid;
		grid-template-columns: var(--timetable-day-col) var(--timetable-time-col) 1fr;
		background: #f5fdff67;
		border-bottom: solid 2px rgba(124, 128, 129, 0.6);
		font-weight: 700;
	}

	.timetable-header > div {
		padding: 0.75em 1em;
	}

	.timetable-body {
		display: flex;
		flex-direction: column;
	}

	.timetable-day-group {
		display: grid;
		grid-template-columns: var(--timetable-day-col) 1fr;
		border-bottom: solid 1px rgba(124, 128, 129, 0.2);
	}

	.timetable-day-group:last-child {
		border-bottom: 0;
	}

	.timetable-day {
		padding: 1em;
		font-weight: 700;
		background: rgba(245, 253, 255, 0.35);
		border-right: solid 1px rgba(124, 128, 129, 0.2);
		display: flex;
		align-items: flex-start;
	}

	.timetable-sessions {
		display: flex;
		flex-direction: column;
	}

	.timetable-session {
		display: grid;
		grid-template-columns: var(--timetable-time-col) 1fr;
		border-bottom: solid 1px rgba(124, 128, 129, 0.2);
	}

	.timetable-session:last-child {
		border-bottom: 0;
	}

	.timetable-time {
		padding: 0.75em 1em;
		border-right: solid 1px rgba(124, 128, 129, 0.2);
		color: rgba(0, 0, 0, 0.75);
		font-weight: 600;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.timetable-content {
		padding: 0.75em 1em;
		min-width: 0;
	}

	@media screen and (max-width: 736px) {
		.timetable-header {
			display: none;
		}

		.timetable-day-group {
			grid-template-columns: 1fr;
		}

		.timetable-day {
			border-right: 0;
			border-bottom: solid 1px rgba(124, 128, 129, 0.2);
			padding: 0.85em 1em;
		}

		.timetable-session {
			grid-template-columns: 1fr;
		}

		.timetable-time {
			border-right: 0;
			padding: 0.75em 1em 0.25em;
			white-space: normal;
		}

		.timetable-content {
			padding: 0.25em 1em 0.75em;
		}
	}

/* Button */

	input[type="button"],
	input[type="submit"],
	input[type="reset"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		background: none;
		border: solid 1px;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		display: inline-block;
		font-size: 0.8em;
		font-weight: 900;
		letter-spacing: 2px;
		min-width: 18em;
		padding: 0 0.75em;
		line-height: 3.75em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
	}

		input[type="button"]:hover,
		input[type="submit"]:hover,
		input[type="reset"]:hover,
		button:hover,
		.button:hover {
			background: rgba(188, 202, 206, 0.15);
			border-color: inherit;
		}

		.button[aria-disabled="true"] {
			background: none;
			border-color: inherit;
			color: inherit;
			cursor: not-allowed;
			opacity: 0.5;
			pointer-events: none;
		}

		input[type="button"].primary,
		input[type="submit"].primary,
		input[type="reset"].primary,
		button.primary,
		.button.primary {
			background: #83d3c9;
			border-color: #83d3c9;
			color: #fff !important;
		}

			input[type="button"].primary:hover,
			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background: #96dad1 !important;
				border-color: #96dad1 !important;
			}

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

		input[type="button"].small,
		input[type="submit"].small,
		input[type="reset"].small,
		button.small,
		.button.small {
			font-size: 0.7em;
			min-width: 14em;
			padding: 0.5em 0;
		}

/* Wrapper */

	.wrapper {
		margin-bottom: 10rem;
		padding: 5em;
	}

		.wrapper.style1 {
			padding: 0;
		}

		.wrapper.style2 {
			background-color: #83d3c9;
			background-image: url("../html5up/css/images/light-bl.svg"), url("../html5up/css/images/light-br.svg");
			background-position: bottom left, bottom right;
			background-repeat: no-repeat, no-repeat;
			background-size: 25em, 25em;
			color: #fff;
		}

			.wrapper.style2 input[type="button"]:hover,
			.wrapper.style2 input[type="submit"]:hover,
			.wrapper.style2 input[type="reset"]:hover,
			.wrapper.style2 button:hover,
			.wrapper.style2 .button:hover {
				background: rgba(255, 255, 255, 0.15) !important;
			}

			.wrapper.style2 input[type="button"].primary,
			.wrapper.style2 input[type="submit"].primary,
			.wrapper.style2 input[type="reset"].primary,
			.wrapper.style2 button.primary,
			.wrapper.style2 .button.primary {
				background: #fff;
				border-color: #fff;
				color: #83d3c9 !important;
			}

				.wrapper.style2 input[type="button"].primary:hover,
				.wrapper.style2 input[type="submit"].primary:hover,
				.wrapper.style2 input[type="reset"].primary:hover,
				.wrapper.style2 button.primary:hover,
				.wrapper.style2 .button.primary:hover {
					border-color: inherit !important;
					color: #fff !important;
				}

		.wrapper.style3 {
			background: #fff;
			color: inherit;
		}

		.wrapper.style4 {
			background: #fff;
			color: inherit;
			padding: 4em;
		}

/* Header */

	@-moz-keyframes reveal-header {
		0% {
			top: -5em;
		}

		100% {
			top: 0;
		}
	}

	@-webkit-keyframes reveal-header {
		0% {
			top: -5em;
		}

		100% {
			top: 0;
		}
	}

	@-ms-keyframes reveal-header {
		0% {
			top: -5em;
		}

		100% {
			top: 0;
		}
	}

	@keyframes reveal-header {
		0% {
			top: -5em;
		}

		100% {
			top: 0;
		}
	}

	#header {
		background: #fff;
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.075);
		color: inherit;
		cursor: default;
		font-size: 0.8em;
		left: 0;
		padding: 1em 1.5em;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 10000;
	}

		#header h1 {
			font-weight: 900;
			margin: 0;
		}

			#header h1 span {
				font-weight: 300;
			}

		#header nav {
			letter-spacing: 0.075em;
			position: absolute;
			right: 1.5em;
			text-transform: uppercase;
			top: 0.75em;
		}

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

				#header nav ul li {
					display: inline-block;
					margin-left: 1.5em;
					padding-left: 0;
				}

					#header nav ul li > ul {
						display: none;
					}

					#header nav ul li a {
						border: solid 1px transparent;
						color: inherit;
						display: inline-block;
						line-height: 1em;
						padding: 0.6em 0.75em;
						text-decoration: none;
					}

					#header nav ul li input[type="button"],
					#header nav ul li input[type="submit"],
					#header nav ul li input[type="reset"],
					#header nav ul li button,
					#header nav ul li .button {
						font-size: 1em;
						min-width: 0;
						width: auto;
					}

					#header nav ul li.submenu > a {
						text-decoration: none;
					}

						#header nav ul li.submenu > a: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;
						}

						#header nav ul li.submenu > a:before {
							content: '\f107';
							margin-right: 0.65em;
						}

					#header nav ul li.active > a, #header nav ul li:hover > a {
						-moz-transition: all 0.2s ease-in-out;
						-webkit-transition: all 0.2s ease-in-out;
						-ms-transition: all 0.2s ease-in-out;
						transition: all 0.2s ease-in-out;
						background: rgba(188, 202, 206, 0.15);
						color: var(--expo-accent);
					}

					#header nav ul li.current > a {
						font-weight: 900;
						color: var(--expo-accent);
					}

		#header.reveal {
			-moz-animation: reveal-header 0.5s;
			-webkit-animation: reveal-header 0.5s;
			-ms-animation: reveal-header 0.5s;
			animation: reveal-header 0.5s;
		}

		#header.alt {
			-moz-animation: none;
			-webkit-animation: none;
			-ms-animation: none;
			animation: none;
			background: rgba(255, 255, 255, 0.92);
			box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.075);
			color: rgba(0, 0, 0, 0.72);
			padding: 1em 1.5em;
			position: fixed;
		}

			#header.alt nav {
				right: 1.5em;
				top: 0.75em;
			}

				#header.alt nav ul li.active > a, #header.alt nav ul li:hover > a {
					border: solid 1px;
				}

/* Dropotron */

	.dropotron {
		list-style: none;
		padding-left: 0;
		background: #fff;
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.075);
		line-height: 2.25em;
		min-width: 13em;
		padding: 1em 0;
		text-transform: uppercase;
		margin-top: calc(-1em + 1px);
	}

		.dropotron.level-0 {
			font-size: 0.7em;
			font-weight: 400;
			margin-top: 1.5em;
		}

			.dropotron.level-0:before {
				border-bottom: solid 0.5em #fff;
				border-left: solid 0.5em transparent;
				border-right: solid 0.5em transparent;
				content: '';
				left: 0.75em;
				position: absolute;
				top: -0.45em;
			}

		.dropotron > li {
			border-top: solid 1px rgba(124, 128, 129, 0.2);
			padding-left: 0;
		}

			.dropotron > li > a {
				-moz-transition: none;
				-webkit-transition: none;
				-ms-transition: none;
				transition: none;
				color: inherit;
				text-decoration: none;
				padding: 0 1em;
				border: 0;
			}

			.dropotron > li:hover > a {
				background: #83d3c9;
				color: #fff;
			}

			.dropotron > li:first-child {
				border-top: 0;
			}

/* Banner */

	@-moz-keyframes reveal-banner {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-webkit-keyframes reveal-banner {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@-ms-keyframes reveal-banner {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	@keyframes reveal-banner {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	#banner {
		cursor: default;
		padding: 6em 0 0;
		text-align: center;
	}

		#banner .inner {
			-moz-animation: reveal-banner 1s 0.25s ease-in-out;
			-webkit-animation: reveal-banner 1s 0.25s ease-in-out;
			-ms-animation: reveal-banner 1s 0.25s ease-in-out;
			animation: reveal-banner 1s 0.25s ease-in-out;
			-moz-animation-fill-mode: forwards;
			-webkit-animation-fill-mode: forwards;
			-ms-animation-fill-mode: forwards;
			animation-fill-mode: forwards;
			display: inline-block;
			opacity: 0;
			padding: 3em;
			text-align: center;
		}

			#banner .inner header {
				display: inline-block;
				border-bottom: solid 2px;
				border-top: solid 2px;
				margin: 0 0 2em 0;
				padding: 3px 0 3px 0;
			}

				#banner .inner header h2 {
					border-bottom: solid 2px;
					border-top: solid 2px;
					font-size: 2.5em;
					font-weight: 900;
					letter-spacing: 0.2em;
					margin: 0;
					padding-left: 0.05em;
					position: relative;
					text-transform: uppercase;
				}

			#banner .inner p {
				letter-spacing: 0.1em;
				margin: 0;
				text-transform: uppercase;
			}

				#banner .inner p a {
					color: inherit;
					font-weight: 400;
					text-decoration: none;
				}

			#banner .inner footer {
				margin: 2em 0 0 0;
			}

/* Main */

	#main {
		background-image: url("../html5up/css/images/dark-tl.svg"), url("../html5up/css/images/dark-tr.svg"), url("../html5up/css/images/dark-bl.svg"), url("../html5up/css/images/dark-br.svg");
		background-position: top left, top right, bottom left, bottom right;
		background-repeat: no-repeat;
		background-size: 25em;
		padding: 7em 0;
	}

		#main > :last-child {
			margin-bottom: 0;
		}

		#main .sidebar section {
			border-top: solid 1px rgba(124, 128, 129, 0.2);
			margin: 3em 0 0 0;
			padding: 3em 0 0 0;
		}

			#main .sidebar section:first-child {
				border-top: 0;
				padding-top: 0;
				margin-top: 0;
			}

	body.index #main {
		padding-top: 5em;
	}

/* section */
  .section-title h2 {
    color: var(--expo-accent);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }

  .section-title p {
    color: #666;
    font-size: 1.1rem;
  }

  @media screen and (max-width: 736px) {
    .section-title h2 {
      font-size: 1.75rem;
      margin-bottom: 0.4rem;
    }

    .section-title p {
      font-size: 1rem;
    }
  }

/* CTA */

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

		#cta header {
			margin-bottom: 2em;
		}
/* page header */
  .page-header {
    max-height: 200px;
    text-align: center;
  }
  .page-header img {
    max-height: 200px;
    height: 100%;
    width: auto;
  }

/* Footer */

	#footer {
		color: #7c8081;
		padding: 2em 5em 2em 5em;
		text-align: center;
    box-shadow: 0 3px 20px -2px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(2px);
	}
  /* Sub pages: footer fixed background image */
	body.has-footer-bg::before {
		content: "";
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		height: min(50vh, 860px);
		height: min(50svh, 860px);
		background: url("../img/bg.webp") bottom center / contain no-repeat;
		pointer-events: none;
		z-index: 0;
	}

	body.has-footer-bg #footer {
		backdrop-filter: none;
    box-shadow: none;
    padding: 6em 0 0.5em;
	}

	@media (max-width: 736px) {
		body.has-footer-bg::before {
			height: 50vh;
			height: 50svh;
		}
	}

		#footer .copyright {
			font-size: 0.8em;
			line-height: 1em;
		}

			#footer .copyright a {
				color: inherit;
			}

			#footer .copyright li {
				display: inline-block;
				margin-left: 1em;
				padding-left: 1em;
				border-left: dotted 1px;
			}

				#footer .copyright li:first-child {
					margin: 0;
					padding: 0;
					border: 0;
				}

        #footer .f_logo {
          max-height: 60px;
          width: auto;
          margin: 0 auto;
        }

		#footer .footer-lang {
			display: flex;
			justify-content: center;
			margin-top: 1.25rem;
		}

		#footer .lang-switch {
			--lang-switch-accent: var(--expo-accent);
			display: inline-flex;
			align-items: stretch;
			border: 1px solid var(--lang-switch-accent);
			border-radius: 0;
			overflow: hidden;
			background: rgba(255, 255, 255, 0.86);
			backdrop-filter: blur(3px);
			box-shadow: none;
		}

		#footer .lang-switch__item {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 6.2ch;
			padding: 0.32rem 0.85rem;
			font-weight: 800;
			letter-spacing: 0.02em;
			color: var(--lang-switch-accent);
			background: transparent;
			border: 0;
			border-bottom: 0;
			text-decoration: none;
			font-size: 0.85em;
		}

		#footer .lang-switch__item + .lang-switch__item {
			border-left: 1px solid var(--lang-switch-accent);
		}

		#footer .lang-switch__item.is-active {
			background: var(--lang-switch-accent);
			color: #ffffff;
		}

		#footer a.lang-switch__item:hover {
			background: rgba(188, 202, 206, 0.15);
			color: var(--lang-switch-accent);
		}

		#footer a.lang-switch__item:focus-visible {
			outline: 3px solid rgba(111, 172, 222, 0.35);
			outline-offset: -3px;
		}

		@media (max-width: 736px) {
			#footer .lang-switch__item {
				padding: 0.28rem 0.7rem;
				min-width: 5.8ch;
			}
		}


/* Wide */

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

		/* Basic */

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

		/* Section/Article */

			header.special {
				padding-top: 5.5em;
				margin-bottom: 4em;
			}

	}

.bg-blur {
  backdrop-filter: blur(6px);
  /* background-color: rgba(255, 255, 255, 0.25); */
  background-color: rgba(255, 255, 255, 0.80);
  box-shadow: 0 3px 20px -2px rgba(0, 0, 0, 0.1);
}

/* Normal */

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

		/* Basic */

			body, input, select, textarea {
				font-size: 13pt;
				letter-spacing: 0.025em;
				line-height: 1.65em;
			}

			h1, h2, h3, h4, h5, h6 {
				line-height: 1.5em;
			}

		/* Section/Article */

			header.major {
				padding-bottom: 1.5em;
			}

			footer.major {
				padding-top: 2em;
			}

		/* Wrapper */

			.wrapper {
				margin-bottom: 4em;
				padding: 4em 3em;
			}

				.wrapper.style4 {
					padding: 3em;
				}

		/* Header */

			#header nav ul li {
				margin-left: 1em;
			}

		/* Banner */

			#banner {
				background-attachment: scroll;
			}

		/* CTA */

			#cta {
				padding: 4em;
				background-attachment: scroll;
			}

		/* Footer */

			#footer {
				padding: 4em;
			}

	}

/* Narrow */

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

		/* Basic */

			body, input, select, textarea {
				font-size: 13pt;
				letter-spacing: 0.025em;
				line-height: 1.5em;
			}

		/* Section/Article */

			header br {
				display: none;
			}

			header.major {
				padding-bottom: 1em;
			}

			header.special {
				padding-left: 2.5em;
				padding-right: 2.5em;
			}

			footer.major {
				padding-top: 1.5em;
			}

		/* Wrapper */

			.wrapper {
				margin-bottom: 3em;
				padding: 3em 2.5em;
			}

				.wrapper.special br {
					display: none;
				}

				.wrapper.style1 {
					padding: 0 2.5em;
				}

				.wrapper.style2 {
					background-size: 15em;
				}

				.wrapper.style4 {
					padding: 2.5em;
				}

		/* Banner */

			#banner {
				background-size: 15em, 15em, auto, cover;
			}

		/* Main */

			#main {
				background-size: 15em;
			}

		/* CTA */

			#cta {
				background-size: 15em, 15em, auto, cover;
				padding: 3em;
			}

	}

/* Narrower */

	#navPanel, #navButton {
		display: none;
	}

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

		/* Basic */

			html, body {
				overflow-x: hidden;
			}

			header.major {
				padding-bottom: 0.25em;
			}

			header.special {
				margin-bottom: 4em;
				padding-top: 5em;
			}

				header.special:before, header.special:after {
					width: 40%;
				}

				header.special h2 + p {
					padding-top: 1.25em;
				}

		/* Section/Article */

			section {
				margin: 1em 0 1em 0;
			}

				section:first-child {
					margin-top: 0;
				}

		/* Button */

			input[type="button"].small,
			input[type="submit"].small,
			input[type="reset"].small,
			button.small,
			.button.small {
				font-size: 0.8em;
				min-width: 18em;
				padding: 0.75em 0;
			}

		/* Featured Icons */

			ul.featured-icons {
				margin: 0;
			}

				ul.featured-icons li {
					display: inline-block;
					float: none;
					width: auto;
				}

					ul.featured-icons li .icon {
						font-size: 4em;
						width: 1.25em;
					}

		/* Buttons */

			ul.buttons li {
				display: block;
				padding: 1em 0 0 0;
			}

		/* Header */

			#header {
				display: none;
			}

		/* Banner */

			#banner {
				margin: 0;
			}

		/* Wrapper */

			.wrapper.special-alt {
				text-align: center;
			}

			.wrapper.style4 {
				padding-bottom: 3em;
			}

		/* Main */

			#main {
				padding: 5em 0;
			}

				#main .sidebar {
					border-top: solid 1px rgba(124, 128, 129, 0.1);
					padding-top: 3em;
				}

					#main .sidebar section {
						border-top: 0;
						padding-top: 0;
					}

			body.index #main {
				padding-top: 4.5em;
			}

		/* CTA */

			#cta {
				margin: 0;
			}

		/* Footer */

			#footer {
				padding: 4em 1.5em;
			}

		/* Nav */

			#page-wrapper {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				padding-bottom: 1px;
			}

			#navButton {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 60px;
				left: 0;
				position: fixed;
				top: 0;
				width: 100%;
				z-index: 10001;
			}

				#navButton .toggle {
					text-decoration: none;
					height: 60px;
					left: 0;
					position: absolute;
					text-align: center;
					top: 0;
					width: 100%;
					border: 0;
					outline: 0;
				}

					#navButton .toggle: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;
					}

					#navButton .toggle:before {
						color: #fff;
						content: '\f0c9';
						font-size: 1em;
						height: 40px;
						left: 10px;
						line-height: 40px;
						opacity: 0.5;
						position: absolute;
						top: 11px;
						width: 60px;
						z-index: 1;
					}

					#navButton .toggle:after {
						background: rgba(163, 169, 170, 0.75);
						border-radius: 2px;
						content: '';
						height: 40px;
						left: 10px;
						position: absolute;
						top: 10px;
						width: 60px;
					}

			#navPanel {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transform: translateX(-275px);
				-webkit-transform: translateX(-275px);
				-ms-transform: translateX(-275px);
				transform: translateX(-275px);
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				display: block;
				height: 100%;
				left: 0;
				overflow-y: auto;
				position: fixed;
				top: 0;
				width: 275px;
				z-index: 10002;
				background: #1c2021;
				color: #fff;
				font-size: 0.8em;
				letter-spacing: 0.075em;
				text-transform: uppercase;
				padding: 0.25em 0.75em 1em 0.75em;
			}

				#navPanel .link {
					border: 0;
					border-top: solid 1px rgba(255, 255, 255, 0.05);
					color: inherit;
					display: block;
					height: 3em;
					line-height: 3em;
					opacity: 0.75;
					text-decoration: none;
				}

					#navPanel .link.depth-0 {
						font-weight: 900;
					}

					#navPanel .link:first-child {
						border-top: 0;
					}

				#navPanel .indent-1 {
					display: inline-block;
					width: 1em;
				}

				#navPanel .indent-2 {
					display: inline-block;
					width: 2em;
				}

				#navPanel .indent-3 {
					display: inline-block;
					width: 3em;
				}

				#navPanel .indent-4 {
					display: inline-block;
					width: 4em;
				}

				#navPanel .indent-5 {
					display: inline-block;
					width: 5em;
				}

			body.navPanel-visible #page-wrapper {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #navButton {
				-moz-transform: translateX(275px);
				-webkit-transform: translateX(275px);
				-ms-transform: translateX(275px);
				transform: translateX(275px);
			}

			body.navPanel-visible #navPanel {
				-moz-transform: translateX(0);
				-webkit-transform: translateX(0);
				-ms-transform: translateX(0);
				transform: translateX(0);
			}

	}

/* Mobile */

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

		/* Basic */

			body {
				min-width: 320px;
			}

			h2 {
				font-size: 1.25em;
				letter-spacing: 0.1em;
			}

			h3 {
				font-size: 1em;
				letter-spacing: 0.025em;
			}

			/* p {
				text-align: justify;
			} */

		/* Section/Article */

			header {
				text-align: center;
			}

				header.major {
					padding-bottom: 0;
				}

				header.special {
					margin-bottom: 3em;
					padding-left: 1.5em;
					padding-right: 1.5em;
				}

					header.special:before, header.special:after {
						width: 38%;
					}

					header.special .icon {
						font-size: 0.75em;
						top: 1.5em;
					}

          header.special .icon-flag {
						font-size: 2.75em;
						top: 0.5em;
					}

				header p {
					text-align: center;
				}

			footer.major {
				padding-top: 0;
			}

		/* Icon */

			.icon.circle {
				font-size: 1em;
			}

		/* Button */

			input[type="button"],
			input[type="submit"],
			input[type="reset"],
			button,
			.button {
				max-width: 20em;
				width: 100%;
			}

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

		/* Icons */

			ul.icons li {
				padding-left: 0.25em;
			}

		/* Featured Icons */

			ul.featured-icons li .icon {
				width: 1.1em;
			}

		/* Buttons */

			ul.buttons {
				text-align: center;
			}

		/* Wrapper */

			.wrapper {
				margin-bottom: 2.5em;
				padding: 2.25em 1.5em;
			}

				.wrapper.special br {
					display: none;
				}

				.wrapper.style1 {
					padding: 0 1.5em;
				}

				.wrapper.style2 {
					background-size: 10em;
					padding: 2.25em 1.5em;
				}

				.wrapper.style4 {
					background-size: 10em;
					padding: 1.5em 1.5em 3em 1.5em;
				}

		/* Banner */

			#banner {
				background-size: 10em, 10em, auto, cover;
				padding: 6em 0;
			}

				#banner .inner {
					background: none;
					display: block;
					padding: 0 1.5em;
				}

					#banner .inner header h2 {
						font-size: 1.5em;
					}

					#banner .inner p {
						text-align: center;
					}

					#banner .inner br {
						display: none;
					}

		/* Main */

			#main {
				background-size: 10em;
				padding: 3.5em 0 2.5em 0;
			}

			body.index #main {
				padding: 2.5em 0 0 0;
			}

			body.contact #main {
				padding-bottom: 0;
			}


		/* CTA */

			#cta {
				background-size: 10em, 10em, auto, cover;
				padding: 3em 1.5em;
			}

		/* Footer */

			#footer {
				padding: 3em 1.5em;
			}

				#footer .copyright li {
					display: block;
					margin: 1em 0 0 0;
					padding: 0;
					border: 0;
				}

		/* Nav */

			#navButton .toggle:before {
				top: 8px;
				left: 8px;
				width: 50px;
				height: 34px;
				line-height: 34px;
			}

			#navButton .toggle:after {
				top: 8px;
				left: 8px;
				width: 50px;
				height: 34px;
			}

	}

/* Expo Components */

	.hero.hero-intro {
		outline: none;
	}

	.hero.hero-intro .hero-intro-panel {
		max-width: 980px;
		margin: 0 auto;
		padding: 38px 28px;
	}

	.hero.hero-intro .hero-typed-title {
		margin: 0;
		font-weight: 700;
		letter-spacing: 0.02em;
		line-height: 1.1;
		font-size: clamp(42px, 4.8vw, 64px);
		white-space: normal;
		min-height: 2.2em;
		font-family: "Play", sans-serif;
		text-transform: none;
	}

	.hero.hero-intro .hero-typed-main {
		display: block;
		font-size: inherit;
		white-space: pre-line;
	}

	.hero.hero-intro .hero-typed-expo {
		display: block;
		font-weight: 800;
		letter-spacing: 0.06em;
		font-size: clamp(50px, 7vw, 96px);
		line-height: 1;
		margin-top: 6px;
		color: var(--expo-hero-title);
	}

	.hero.hero-intro .hero-typed-subtitle {
		margin: 14px 0 0;
		font-size: 1rem;
		text-transform: none;
	}

	.hero.hero-intro .hero-typed-logo {
		margin-top: 18px;
		opacity: 0;
		transform: translateY(18px) scale(0.965);
		transition: opacity 1300ms cubic-bezier(0.16, 1, 0.3, 1), transform 1300ms cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;
	}

	.hero.hero-intro .hero-typed-logo.is-visible {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	.hero.hero-intro .hero-typed-logo img {
		height: clamp(96px, 12vw, 150px);
		width: auto;
		display: block;
		margin: 0 auto;
		opacity: 1;
	}

	#banner-tour {
		position: fixed;
		left: 1.5rem;
		bottom: 1.5rem;
		z-index: 1200;
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
		padding: 0.85rem;
		width: min(320px, 32vw);
		border-radius: 12px;
		background: rgba(12, 18, 24, 0.72);
		box-shadow: 0 9px 20px rgba(8, 12, 18, 0.35);
		backdrop-filter: blur(12px);
		transition: opacity 700ms ease, transform 700ms ease;
	}

	#banner-tour .button.primary {
		width: 100%;
		text-align: center;
    padding: .5rem .25rem;
	}

	#banner-tour .banner-tour-button {
		line-height: 1.25;
		white-space: normal;
	}

	#banner-tour .banner-tour-line {
		display: inline;
	}

	#banner-tour video {
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 9;
		border-radius: 12px;
		overflow: hidden;
		background: #0b0f14;
	}

	body.hero-intro-active #banner-tour {
		opacity: 0;
		transform: translateY(18px);
		pointer-events: none;
	}

	body.hero-intro-done #banner-tour {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}

	@media (max-width: 980px) {
		.hero.hero-intro .hero-typed-title {
			font-size: 48px;
			line-height: 1.15;
		}

		.hero.hero-intro .hero-typed-expo {
			font-size: 68px;
			margin-top: 2px;
		}

		.hero.hero-intro .hero-typed-subtitle {
			font-size: 1.05rem;
		}

		#banner-tour {
			width: min(300px, 44vw);
			left: 1rem;
			bottom: 1rem;
			padding: 0.75rem;
		}

	}

	@media (max-width: 520px) {
		#banner-tour .banner-tour-line {
			display: block;
		}
	}

	@media (max-width: 416px) {
		.hero.hero-intro .hero-typed-title {
			font-size: 40px;
			line-height: 1.15;
		}

		.hero.hero-intro .hero-typed-expo {
			font-size: 60px;
			margin-top: 2px;
		}

		.hero.hero-intro .hero-typed-subtitle {
			font-size: 1.05rem;
		}

		#banner-tour {
			position: static;
			width: auto;
			max-width: none;
			margin: 1.5rem 1rem 0;
			padding: 0.85rem;
			border-radius: 14px;
			background: rgba(12, 18, 24, 0.72);
			box-shadow: none;
			backdrop-filter: blur(12px);
		}

		#banner-tour video {
			border-radius: 10px;
		}
	}

	.section-title {
		text-align: center;
		margin-bottom: 60px;
	}

	.avatar {
		width: 128px;
		height: 128px;
		margin: 0 auto;
		border-radius: 50%;
		overflow: hidden;
	}

	.avatar img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
  .person-card__name {
    font-weight: bold;
  }

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

	.person-card__avatar {
		margin-bottom: 0.75rem;
	}

	.person-card__affiliation,
	.person-card__meta {
		margin: 0;
		line-height: 1.35;
	}

	.person-card__affiliation {
		margin-top: 0.125rem;
	}

	.person-card__meta {
		margin-top: 0.125rem;
		font-size: 0.9em;
		opacity: 0.85;
	}

	@media screen and (max-width: 736px) {
		.avatar {
			width: 104px;
			height: 104px;
		}
	}

	/* === EVENT TIMELINE VERTICAL (移植) === */
	.event-timeline-section {
		padding: 100px 0;
		position: relative;
		overflow: hidden;
	}	

	.timeline-container {
		position: relative;
		max-width: 700px;
		width: 100%;
		margin: 0 auto;
		padding: 10px 16px 20px 100px;
		box-sizing: border-box;
		overflow-x: hidden;
	}

	.timeline-line {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 30px;
		width: 2px;
		background: #e0e0e0;
		z-index: -1;
	}

	.timeline-event {
		position: relative;
		margin-bottom: 50px;
	}

	.timeline-event:last-child {
		margin-bottom: 0;
	}

	.timeline-event::before {
		content: "";
		position: absolute;
		left: -68px;
		top: 10px;
		transform: translateX(-50%);
		width: 16px;
		height: 16px;
		background: var(--expo-accent);
		border: 3px solid #ffffff;
		border-radius: 50%;
		z-index: 2;
		box-shadow: 0 0 0 2px #e0e0e0;
	}

	.timeline-event::after {
		content: "";
		position: absolute;
		left: -58px;
		top: 18px;
		transform: translateY(-50%);
		width: 50px;
		height: 2px;
		background-image: linear-gradient(to right, var(--expo-accent) 50%, transparent 50%);
		background-size: 8px 2px;
		z-index: 1;
	}

	.event-content {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.event-date {
		font-size: 1.6rem;
		color: var(--expo-accent);
		font-weight: 700;
		letter-spacing: 0.5px;
	}

	.event-card-content {
		/* background-color: transparent; */
    background-color: rgba(255, 255, 255, 0.80);
		box-shadow: 0 3px 20px -2px rgba(0, 0, 0, 0.1);
		backdrop-filter: blur(2px);
		position: relative;
		padding: 20px;
		border-radius: 8px;
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 15px;
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.event-details-btns {
		display: flex;
		gap: 10px;
		justify-self: end;
		align-self: end;
	}

	.event-card-content > .event-details-btn {
		justify-self: end;
		align-self: end;
	}

	.event-details-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 34px;
		padding: 0 14px;
		border-radius: 999px;
		background: var(--expo-accent);
		color: #ffffff;
		font-weight: 600;
		font-size: 0.9rem;
		line-height: 1;
		text-decoration: none;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
		transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
	}

	.event-details-btn:hover {
		background: #0d7a68;
		transform: translateY(-1px);
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.16);
	}

	.event-details-btn:focus-visible {
		outline: 3px solid rgba(22, 160, 133, 0.45);
		outline-offset: 3px;
	}

	.event-country-row {
		display: flex;
		align-items: center;
		gap: 12px;
		grid-column: 1 / -1;
	}

	.event-country {
		font-size: 1.3rem;
		font-weight: 600;
		color: #333;
	}

	.event-flag {
		font-size: 40px;
		line-height: 1;
	}

	.event-speaker {
		display: flex;
		flex-direction: column;
		gap: 6px;
		font-size: 0.9rem;
		color: #666;
		line-height: 1.6;
	}

	.event-speaker p {
		margin: 0;
	}

	.event-speaker strong {
		color: #333;
		display: block;
		font-size: 0.85rem;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		margin-bottom: 5px;
	}

	@media (max-width: 768px) {
		.timeline-container {
			padding-left: 50px;
			padding-right: 14px;
		}

		.timeline-line {
			left: 25px;
		}

		.timeline-event::before {
			left: -25px;
		}

		.timeline-event::after {
			left: -17px;
			width: 15px;
		}

		.event-card-content {
			padding: 15px;
			grid-template-columns: 1fr;
		}

		.event-details-btns,
		.event-details-btn {
			justify-self: start;
		}
	}

	.back-to-top {
		position: fixed;
		right: 16px;
		bottom: 16px;
		width: 48px;
		height: 48px;
		border-radius: 999px;
		background: var(--expo-accent);
		color: #fff;
		display: grid;
		place-items: center;
		font-weight: 900;
		border: 0;
		text-decoration: none;
		box-shadow: 0 8px 12px rgba(0, 0, 0, 0.18);
		z-index: 10020;
		opacity: 0;
		transform: translate3d(0, 10px, 0);
		pointer-events: none;
		transition: opacity 220ms cubic-bezier(0.16, 1, 0.3, 1), transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
	}

	.back-to-top:hover {
		background: #0d7a68;
		transform: translate3d(0, 6px, 0);
	}

	.back-to-top:focus-visible {
		outline: 3px solid rgba(22, 160, 133, 0.45);
		outline-offset: 3px;
	}

	.back-to-top.is-visible {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		pointer-events: auto;
	}
}

@layer utilities {
	.skip-link {
		position: absolute;
		left: 12px;
		top: 12px;
		transform: translateY(-160%);
		background: rgba(0, 0, 0, 0.85);
		color: #fff;
		padding: 10px 12px;
		border-radius: 12px;
		z-index: 1000;
	}

	.skip-link:focus {
		transform: translateY(0);
	}

	/* Scroll Reveal (AOS互換・軽量版) */
	[data-aos] {
		--aos-delay: 0ms;
		--aos-duration: 1300ms;
		--aos-ease: cubic-bezier(0.22, 1, 0.36, 1);
		opacity: 0;
		transform: translate3d(0, 24px, 0);
		filter: blur(3px);
		transition: opacity var(--aos-duration) var(--aos-ease) var(--aos-delay),
			transform var(--aos-duration) var(--aos-ease) var(--aos-delay),
			filter var(--aos-duration) var(--aos-ease) var(--aos-delay);
		will-change: opacity, transform, filter;
	}

	[data-aos="fade-in"] {
		transform: none;
	}

	[data-aos="fade-up"] {
		transform: translate3d(0, 28px, 0);
	}

	[data-aos="fade-left"] {
		transform: translate3d(18px, 0, 0);
	}

	[data-aos="fade-right"] {
		transform: translate3d(-18px, 0, 0);
	}

	[data-aos="zoom-in"] {
		transform: scale(0.985);
	}

	[data-aos].aos-animate {
		opacity: 1;
		transform: none;
		filter: none;
	}

	@media (prefers-reduced-motion: reduce) {
		[data-aos] {
			transition: none !important;
			opacity: 1 !important;
			transform: none !important;
		}
	}
}

	@layer overrides {
		/* 日本語ページ: 強制アッパーケースを無効化 */
		html[lang="ja"] h1,
	html[lang="ja"] h2,
	html[lang="ja"] h3,
	html[lang="ja"] h4,
	html[lang="ja"] h5,
	html[lang="ja"] h6,
	html[lang="ja"] input[type="button"],
	html[lang="ja"] input[type="submit"],
	html[lang="ja"] input[type="reset"],
	html[lang="ja"] button,
	html[lang="ja"] .button,
	html[lang="ja"] #header nav,
	html[lang="ja"] #navPanel,
	html[lang="ja"] .dropotron,
	html[lang="ja"] #banner .inner header h2,
	html[lang="ja"] #banner .inner p,
		html[lang="ja"] .event-speaker strong {
			text-transform: none;
		}

		/* 韓国語ページ: 強制アッパーケースを無効化 + ウェイト補正 */
		html[lang="ko"] h1,
		html[lang="ko"] h2,
		html[lang="ko"] h3,
		html[lang="ko"] h4,
		html[lang="ko"] h5,
		html[lang="ko"] h6,
		html[lang="ko"] input[type="button"],
		html[lang="ko"] input[type="submit"],
		html[lang="ko"] input[type="reset"],
		html[lang="ko"] button,
		html[lang="ko"] .button,
		html[lang="ko"] #header nav,
		html[lang="ko"] #navPanel,
		html[lang="ko"] .dropotron,
		html[lang="ko"] #banner .inner header h2,
		html[lang="ko"] #banner .inner p,
		html[lang="ko"] .event-speaker strong {
			text-transform: none;
		}

		html[lang="ko"] h1,
		html[lang="ko"] h2,
		html[lang="ko"] h3,
		html[lang="ko"] h4,
		html[lang="ko"] h5,
		html[lang="ko"] h6 {
			font-family: "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", "Noto Sans", sans-serif;
			font-weight: 600;
		}

		/* 英語ページ: 強制アッパーケースを無効化 */
		html[lang="en"] h1,
		html[lang="en"] h2,
		html[lang="en"] h3,
		html[lang="en"] h4,
		html[lang="en"] h5,
		html[lang="en"] h6,
		html[lang="en"] input[type="button"],
		html[lang="en"] input[type="submit"],
		html[lang="en"] input[type="reset"],
		html[lang="en"] button,
		html[lang="en"] .button,
		html[lang="en"] #header nav,
		html[lang="en"] #navPanel,
		html[lang="en"] .dropotron,
		html[lang="en"] #banner .inner header h2,
		html[lang="en"] #banner .inner p,
		html[lang="en"] .event-speaker strong,
		html[lang="en"] #navButton .mobile-nav-logo {
			text-transform: none;
		}

	/* 例外: HTML5 UPの背景演出を無効化し、Canvas背景(#bg)に差し替えるため */
	#main {
		background: none;
		padding-bottom: 0;
	}

	/* 例外: Heroセクションは背景を透過させ、背面演出を見せるため */
	#banner {
		background: none;
	}

	#banner .inner {
		background: none;
		opacity: 1;
		animation: none;
	}

	/* 例外: モバイル時は navButton(ハンバーガー) の右側にロゴを表示するため */
	@media screen and (max-width: 840px) {
		#navButton .toggle {
			width: 76px;
		}

		#navButton .mobile-nav-logo {
			position: absolute;
			top: 0;
			left: 77px;
			height: 60px;
			display: flex;
			align-items: center;
			text-decoration: none;
			border: 0;
			color: #7c8081;
			font-family: "Orbitron", sans-serif;
      font-size: 13px;
			font-weight: 800;
			letter-spacing: 0.04em;
			text-transform: uppercase;
			z-index: 2;
			padding: 6px 10px;
			background: rgba(255, 255, 255, 0.86);
			backdrop-filter: blur(3px);
		}

		html[lang="ja"] #navButton .mobile-nav-logo {
			text-transform: none;
		}

		#navButton .mobile-nav-logo span {
			font-weight: 400;
			letter-spacing: 0.02em;
			margin-left: 0.25em;
		}
	}
}

/* Schedule Table - Table-like layout with rowspan effect */
@layer components {
  .schedule-table {
    display: grid;
    grid-template-columns: 150px 180px 1fr;
    margin: 2rem 0;
    border: 1px solid rgba(124, 128, 129, 0.2);
    background: rgba(255, 255, 255, 0.95);
  }

  /* Table Headers */
  .table-header {
    background: #f5fdff67;
    font-weight: 600;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid rgba(124, 128, 129, 0.6);
    border-right: 1px solid rgba(124, 128, 129, 0.2);
    text-align: left;
    color: #333;
  }

  .table-header:last-child {
    border-right: none;
  }

  /* Table Cells */
  .date-cell, .time-cell, .content-cell {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(124, 128, 129, 0.2);
    border-right: 1px solid rgba(124, 128, 129, 0.2);
    align-self: start;
  }

  .content-cell {
    border-right: none;
  }

  /* Date cells with rowspan effect */
  .date-cell {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.3;
    text-align: left;
    background: rgba(248, 250, 251, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  /* Rowspan effects */
  .day1 { grid-row: 2 / 4; } /* spans 2 rows (rows 2-3) */
  .day2 { grid-row: 4 / 6; } /* spans 2 rows (rows 4-5) */
  .day3 { grid-row: 6 / 9; } /* spans 3 rows (rows 6-8) */

  .time-cell {
    font-weight: 600;
    color: var(--expo-accent);
    font-size: 0.95rem;
    white-space: nowrap;
  }

  .content-cell {
    line-height: 1.6;
    color: #333;
  }

  /* Mobile Layout - Switch to card layout */
  @media screen and (max-width: 736px) {
    .schedule-table {
      display: block;
      border: none;
      background: none;
      margin: 1.5rem 0;
    }

    .table-header {
      display: none;
    }

    .date-cell, .time-cell, .content-cell {
      display: block;
      border: none;
      padding: 0;
      background: none;
    }

    /* Group sessions by day in mobile */
    .day1, .day2, .day3 {
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(124, 128, 129, 0.2);
      border-radius: 8px;
      padding: 1rem;
      margin-bottom: 1rem;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
      font-weight: 700;
      color: var(--expo-accent);
      font-size: 1rem;
      text-align: left;
      justify-content: flex-start;
      align-items: flex-start;
    }

    .day1 + .time-cell, .day1 + .time-cell + .content-cell,
    .day1 + .time-cell + .content-cell + .time-cell, .day1 + .time-cell + .content-cell + .time-cell + .content-cell {
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(124, 128, 129, 0.2);
      border-top: none;
      padding: 0.75rem 1rem;
      margin-bottom: 0;
    }

    .day2 + .time-cell, .day2 + .time-cell + .content-cell,
    .day2 + .time-cell + .content-cell + .time-cell, .day2 + .time-cell + .content-cell + .time-cell + .content-cell {
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(124, 128, 129, 0.2);
      border-top: none;
      padding: 0.75rem 1rem;
      margin-bottom: 0;
    }

    .day3 + .time-cell, .day3 + .time-cell + .content-cell,
    .day3 + .time-cell + .content-cell + .time-cell, .day3 + .time-cell + .content-cell + .time-cell + .content-cell,
    .day3 + .time-cell + .content-cell + .time-cell + .content-cell + .time-cell, .day3 + .time-cell + .content-cell + .time-cell + .content-cell + .time-cell + .content-cell {
      background: rgba(255, 255, 255, 0.95);
      border: 1px solid rgba(124, 128, 129, 0.2);
      border-top: none;
      padding: 0.75rem 1rem;
      margin-bottom: 0;
    }

    .time-cell {
      font-size: 0.9rem;
      padding-bottom: 0.5rem;
      border-bottom: 1px solid rgba(124, 128, 129, 0.1) !important;
      margin-bottom: 0.5rem;
    }

    .content-cell {
      padding-top: 0;
    }

    /* Last content cell in each day group */
    .day1 + .time-cell + .content-cell + .time-cell + .content-cell,
    .day2 + .time-cell + .content-cell + .time-cell + .content-cell,
    .day3 + .time-cell + .content-cell + .time-cell + .content-cell + .time-cell + .content-cell {
      border-radius: 0 0 8px 8px;
      margin-bottom: 1rem;
    }
  }

  /* Tablet Layout */
  @media screen and (max-width: 980px) and (min-width: 737px) {
    .schedule-table {
      grid-template-columns: 130px 160px 1fr;
    }

    .table-header, .date-cell, .time-cell, .content-cell {
      padding: 0.625rem 0.875rem;
    }

    .date-cell {
      font-size: 0.85rem;
    }

    .time-cell {
      font-size: 0.9rem;
    }
  }
}
