:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #8fbf21;
  --secondary: #00665e;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --black: #000000;
  --lightgray: #f8f8f8;
  --darkprimary: #8fbf2f;
  --lightsmoke: rgba(245, 245, 245, 0.6);
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

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

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@-ms-viewport {
  width: device-width; }
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}


body {
	background-color: black;
	color: #eee;
	margin: 0;
	font-family: "ars-maquette-web", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
}

a {
	color: #8fbf21;
	text-decoration: none;
	background-color: transparent;
	-webkit-text-decoration-skip: objects;
}
a:hover, a.input-selected {
	color: #5e7e16;
	text-decoration: underline;
}

a:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a.input-selected:not([href]):not([tabindex]), a:not([href]):not([tabindex]):focus, a.input-selected:not([href]):not([tabindex]) {
	color: inherit;
	text-decoration: none;
}
a:not([href]):not([tabindex]):focus, a.input-selected:not([href]):not([tabindex]) {
	outline: 0;
}

.container {
	margin: 0;
}

header {
	margin: 0;
	display: flex;
}
.header-inner {
	position: relative;
	width: 100%;
	background-image: url("header.jpg");
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	height: 350px;
}

.header-caption {
	position: absolute;
	bottom: 0;
	text-align: center;
	width: 100%;
	padding: 20px;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65), rgba(1, 1, 1, 0));
}

header h1 {
	margin: 0;
	font-weight: lighter;
	font-size: 48px;
	text-transform: uppercase;
	padding: 24px 0;
	line-height: 1.0;
}
header h2 {
	margin: 0;
	font-weight: normal;
	font-size: 30px;
	text-transform: uppercase;
	line-height: 1.1;
}

main {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 0 1rem;
}
.main-inner {
	max-width: 40rem;
}

section {
	margin: 50px 0;
}

section header {
	font-size: 24px;
	font-weight: lighter;
	margin-bottom: 16px;
}

#invitation {
	font-weight: bold;
}

#tldr header {
	display: none
}

dl {
	display: grid;
	grid-template-columns: 50px auto;
}

table {
	margin: 16px 0;
}
td {
	vertical-align: top;
}
td:first-child {
	padding-right: 1em;
}

main h1 {
	font-weight: 400;
	font-size: 1.1rem;
	text-transform: uppercase;
	margin-top: 30px;
}

