/* RESET */
/* ========================================= */

* { box-sizing: border-box; }

html {
	font-family: sans-serif;
	font-size: 30px;
	height: 100%;
}

body {
	min-height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0;
}

h1, h2, h3 {
	font-weight: normal;
	font-size: 1rem;
	margin: 0;
}

p {
	margin: 0;
}

a {
	text-decoration: none;
	color: inherit;
}

img {
	max-width: 100%;
	vertical-align: top;
}

figure {
	margin: 0;
	padding: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

hr {
	border: none;
	color: white;
	width: 100%;
	padding: 0 1rem;
}

hr::after {
	content: '...';
	
}

/* MAIN NAV */
/* ========================================= */

.MainNav {
	flex: 1;
	display: flex;
	padding-bottom: 4rem;
}

.MainNav-list {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 2rem;
}

/* HEADER */
/* ========================================= */

.Header {
	padding: 1rem;
	display: grid;
	gap: 1rem;
}

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

.Header a {
	color: initial;
}

/* HEADER */
/* ========================================= */

.Footer {
	text-align: center;
	padding: 1rem;
}

.Footer a {
	color: initial;
}


/* PAGE */
/* ========================================= */

.Page {
	min-height: 100%;
	display: grid;
	position: relative;
	color: white;
	-webkit-text-stroke-color: black;
	-webkit-text-stroke-width: 4px;
	paint-order: stroke fill;
}

.Page--home {
	flex: 1;
	padding: 1rem;
	display: flex;
	flex-direction: column;
}

.Page--event {
	gap: 1rem;
}

.Page--event .Page-footer {
	padding: 1rem;
	padding-top: 2rem;
}

.Page-footer {
	font-size: 0.6rem;
}


/* SLIDESHOW */
/* ========================================= */

.Slideshow {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	height: 100vh;
}

.Slideshow-header {
	text-align: center;
	flex: 0;
	padding-top: 2rem;
	padding-bottom: 3rem;
}

.Slideshow-body {
	flex: 1;
	position: relative;
}

.Slideshow-footer {
	flex: 0;
	padding-top: 4rem;
}

.Slideshow-navItem {
	display: inline;
	color: grey;
}

.Slideshow-navItem.is-active,
.Slideshow-navItem:hover {
	color: white;
}

.Slideshow-navItem:not(.is-active) {
	cursor: pointer;
}


/* SLIDE */
/* ========================================= */

.Slide {
	display: none;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.Slide.is-active {
	display: flex;
	justify-content: center;
}

.Slide-media {
	cursor: pointer;
	object-fit: contain;
}

/* GOOGLE MAP */
/* ========================================= */

.GoogleMap {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: black;
	z-index: -1;
}

.gmnoprint, .gm-style-cc, .GoogleMap a {
	visibility: hidden;
}

/* UTILITIES */
/* ========================================= */

.u-formatText ul li::before {
	content: '●';
	display: inline-block;
	margin-right: 1ch;
}

/* MEDIA GRID */
/* ========================================= */

.MediaGrid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	font-size: 0.6rem;
	position: ;
}

.MediaGrid-figure {
	position: relative;
}

.MediaGrid-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 0.5rem;
}