@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap');
body {
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	font-size: 1rem;
	color: #fff;
	background: url("/img/glitter-background.png") no-repeat top center #000;
	margin: 0;
	padding: 0;
}
body:after {
	content: "";
	background: url("/img/glitter-background.png") repeat-x bottom center transparent;
	height: 670px;
	margin-top: -530px;
	display: block;
	width: 100%;
	transform: rotate(180deg);
}
.container {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 15px;
	max-width: 800px;
	z-index: 999;
	position: relative;
}
#mg-logo {
	margin: 100px auto 0;
	display: block;
	width: 200px;
}
#s-logo {
	margin: 1rem auto 0;
	display: block;
	width: 160px;
	background: #fff;
	padding: 15px 20px;
}
#header {
	text-align: center;
	padding: 0 0 60px;
	border-bottom: 1px solid #C59B51;
	margin: 0 0 50px;
}
#header p:first-of-type {
	font-weight: 300;
	font-size: 3rem;
	line-height: 3rem;
	text-transform: uppercase;
	margin: 50px 0 50px;
	padding: 0;
}
#header p:first-of-type span {
	display: block;
	font-size: 4.1rem;
	line-height: 4.1rem;
}
p {
	font-size: 1rem;
	margin: 1rem 0 0;
	padding: 0;
}
.gold {
	color: #C59B51;
}
.bold, strong {
	font-weight: 700;
}
.heading {
	text-transform: uppercase;
	font-size: 1.5rem;
}
form {
	margin: 30px 0 0;
}
#contact-details {
	margin: 0 0 50px;
}
#contact-details input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #C59B51;
	margin: 15px 0 0;
	padding: 8px;
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
}
#contact-details input:first-of-type {
	margin: 0;
}
#contact-details + p {
	padding: 0 0 15px;
	border-bottom: 1px solid #C59B51;
}
.group:not(:nth-last-child(4)):after {
	width: 33.333%;
	content: '';
	border-bottom: 1px solid #C59B51;
	display: block;
	margin: 20px 0 0;
}
.option {
  display: block;
  position: relative;
  padding-left: 35px;
	margin: 20px 0 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* Hide the browser's default radio button */
.option input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
/* Create a custom radio button */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #000;
  border-radius: 50%;
  border: 1px solid #C59B51;
}
/* On mouse-over, add a grey background color */
.option:hover input ~ .checkmark {
  background-color: #D5B782;
}
/* When the radio button is checked, add a blue background */
.option input:checked ~ .checkmark {
  background-color: #000;
}
/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
/* Show the indicator (dot/circle) when checked */
.option input:checked ~ .checkmark:after {
  display: block;
}
/* Style the indicator (dot/circle) */
.option .checkmark:after {
 	top: 3px;
 	left: 3px;
 	width: 14px;
 	height: 14px;
 	border-radius: 50%;
 	background: #C59B51;
}
.group p:not(.gold){
	font-size: 1rem;;
}
#food-allergies {
	border-top: 1px solid #C59B51;
	margin: 50px 0 0;
	padding: 20px 0 0;
}
textarea {
	width: 100%;
	display: block;
	margin: 20px 0 0;
	padding: 8px;
	box-sizing: border-box;
	border: 1px solid #C59B51;
	font-family: 'Montserrat', sans-serif;
	font-size: 1rem;
}
input[type="submit"] {
	display: block;
	margin: 30px auto;
	background-color: #C59B51;
	border: 1px solid #C59B51;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 1.3rem;
	border-radius: 5px;
	padding: 5px 30px;
	box-sizing: border-box;
	font-family: 'Montserrat', sans-serif;
	cursor: pointer;
}
input[type="submit"]:hover, 
input[type="submit"]:active {
	background-color: #c88104;
}
form + p {
	text-align: center;
}
#logos {
	margin: 50px 0 0;
}
#logos img {
	max-width: 200px;
	margin: 0 auto;
	display: block;
}
.error {
	color: #ff4949;
	font-weight: 700;
}

@media (min-width: 576px) {
	#header p:first-of-type {
		font-size: 4rem;
		line-height: 4rem;
	}
	#header p:first-of-type span {
		font-size: 5.5rem;
		line-height: 5.5rem;
	}
	p {
		font-size: 1.3rem;
	}
	.heading {
		font-size: 2.5rem;
	}
	#contact-details {
		display: flex;
		gap: 15px;
		flex-wrap: wrap;
	}
	#contact-details input {
		margin: 0;
		flex: 1 0 calc(50% - 8px);
	}
	#logos {
		display: flex;
		flex-wrap: wrap;
	}
	#logos img {
		max-width: none;
		width: 33.3333%;
	}
}

@media (min-width: 768px) {
	#header p:first-of-type {
		font-size: 5rem;
		line-height: 5rem;
	}
	#header p:first-of-type span {
		font-size: 6.9rem;
		line-height: 6.9rem;
	}
	.heading {
		font-size: 2.9rem;
	}
}

@media (min-width: 1900px) {
	body, body:after {
		background-size: contain;
	}
}