@charset "utf-8";
/*@import url("fonts/stylesheet.css");*/
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
/*COLOURS---------------
GREY:    #9C9C9C
------------------------
*/
html, body {
	margin: 0;
	padding: 0;
}
body {
	background: #2b246a;
	color: #FFF;
	/*font-family: 'EB Garamond', Georgia, "Times New Roman", Times, serif;*/
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	font-size: 12px;
}
h1,h2,h3,h4,h5,h6,fieldset legend{
	/*font-family: 'Londrina Solid', Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;*/
	/*letter-spacing: 0.05em;*/
	font-weight: bold;
	text-transform: uppercase;
	color: #ffed00;
}
a:link, a:visited {
	color: #FFF;
}
a:hover, a:active {
	color: #ffed00;
}
a img {
	border: none;
}
#thumb {
	display: none;
}
.button,
a.button,
.field label.button,
.field input.button,
.field input[type="submit"],
#uploadbutton {
	position: relative;
	display: inline-block;
	vertical-align: top;
	/*font-family: 'Londrina Solid', Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;*/
	font-size: 2em;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	width: auto;
	height: auto;
	padding: 0.5em 1.5em;
	box-sizing: content-box;
	cursor: pointer;
	
	border-radius: 0px;
	/*box-shadow: 0px 5px 0px #f8e3a7;*/
	
	background: #2b246a;
	color: #ffed00;
	border: 2px solid #FFF;
	
	-webkit-transition: all 0.2s cubic-bezier(0.25, 0.0, 0, 1), font-size 0s;
	-moz-transition: all 0.2s cubic-bezier(0.25, 0.0, 0, 1), font-size 0s;
	-ms-transition: all 0.2s cubic-bezier(0.25, 0.0, 0, 1), font-size 0s;
	-o-transition: all 0.2s cubic-bezier(0.25, 0.0, 0, 1), font-size 0s;
	transition: all 0.2s cubic-bezier(0.25, 0.0, 0, 1), font-size 0s;
}
.button:hover,
a.button:hover,
.field input.button:hover,
.field input[type="submit"]:hover,
#uploadbutton:hover,
.button:focus,
a.button:focus,
.field input.button:focus,
.field input[type="submit"]:focus,
#uploadbutton.focus {
	background: #FFF;
	color: #2b246a;
}
.button.loading,
a.button.loading,
.field input.button.loading,
.field input[type="submit"].loading,
#uploadbutton.loading {
	background: #CCC;
	border-color: #CCC;
	color: #666;
}
.highlight {
	color: #ff1107;
}
#container {
	position: relative;
	margin: 0 auto;
}
#content {
	width: 100%;
	/*height: 100%;*/
}
.body {
	/*background: #02a3d1;*/
	position: relative;
	padding: 0;
	width: 100%;
	text-align: center;
}
.main {
	position: relative;
	width: 1200px;
	max-width: 100%;
	min-height: 960px;
	margin: 0 auto 0;
	display: inline-block;
	text-align: center;
}
.main .header {
	position: relative;
	background: #32236a url(../images/header.jpg) top center no-repeat;
	background-size: 1200px;
	height: 940px;
	
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
.main .header h1,
.main .header h2,
.main .header h3 {
	display: none;
}
.main .header .minimals {
	position: absolute;
	bottom: 0;
	/*width: 100%;*/
  left: 40.5%;
	text-align: left;
}
.main .header img {
	max-width: 100%;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 0;
}
.main .header #enter-now {
	position: absolute;
	top: 70.5%;
	left: 56%;
	/*margin-left: -90px;*/
	width: 180px;
	padding: 0.5em 0;
	box-sizing: border-box;
	border-radius: 0px;
	box-shadow: 0 5px 20px rgba(0,0,0,0.7);
	z-index: 10;
}
.main .header #enter-now:hover {
	box-shadow: 0 5px 10px rgba(0,0,0,0.7);
}
.announcement {
	text-align: center;
	font-size: 2em;
}
.form {
	text-align: left;
	display: inline-block;
	vertical-align: top;
	position: static;
	top: 0;
	left: 0;
	z-index: 90;
	width: 100%;
	max-width: 100%;
	/*min-height: 700px;*/
	margin: 0px auto 40px;
	/*background: #2b246a;*/
	/*color: #ffed00;*/
	padding: 0 10px;
	/*padding-bottom: 70px;*/
	box-sizing: border-box;
	
	/*box-shadow: 0px 0px 20px rgba(115,7,9,0.4);*/
	
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}
h1,
h2,
h3,
h4,
fieldset legend {
	/*color: #FFF;*/
	/*text-shadow: 1px 2px 0px #f5d500;*/
	/*letter-spacing: 0.1em;*/
}
.body h2 {
	font-size: 4em;
	/*letter-spacing: -0.1em;*/
	margin: 0.25em 0;
}
.body h3,
.body h4,
fieldset legend {
	margin: 2em 0 1em;
	width: 100%;
	padding: 0;
}
fieldset legend {
	display: none;
}
#errorcontainer {
	/*position: absolute;
	bottom: 200px;
	right: 50%;
	width: 450px;*/
}
.errors {
	position: relative;
	/*top: 10px;
	right: 20px;
	width: 600px;
	max-width: 100%;*/
	padding: 2em 1em;
	font-size: 1.3em;
	font-weight: bold;
	/*display: none;*/
	background: #FFF;
  color: #000;
	border: 5px solid #ff1107;
	z-index: 100;
	box-sizing: border-box;
	box-shadow: 8px 10px 5px rgba(0,0,0,0.5);
}
.errors label {
	display: block;
	margin: 0.3em 0;
}
.errors label,
label.error {
	color: #E00;
	cursor: pointer;
	
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}
.errors label:hover,
label.error:hover {
	color: #FF6600;
}
#errors .confirm {
	text-align: center;
	display: block;
	margin: 10px auto 0;
	width: 20%;
	cursor: pointer;
}
fieldset {
	border: none;
	padding: 0;
	margin: 0;
}
fieldset#personaldetails,
fieldset#purchasedetails {
	/*float: left;
	width: 80%;*/
	padding: 1em 0;
}
fieldset#purchasedetails {
	border-top: 1px solid #ffed00;
}
fieldset#agreements {
	height: 6em;
  display: inline-block;
  width: 75%;
}
fieldset#agreements,
.submitfield,
dl.required {
	position: relative;
	/*top: 14em;*/
}
.field, .checkfield, .submitfield {
	position: relative;
	display: inline-block;
	width: 25%;
	vertical-align: top;
	margin: 0.5em 0;
	padding: 0 1em 0 0;
	box-sizing: border-box;
}
div#field-AptNumber {
	width: 15%;
}
div#field-StreetNumber {
	width: 10%;	
}
.field label {
	/*font-family: 'Londrina Solid', Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;*/
	display: block;
	width: auto;
	font-size: 1em;
	text-transform: uppercase;
	font-weight: normal;
}
.field input,
.field textarea,
.field select {
	background: #FFF;
	color: #565656;
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	font-size: inherit;
	width: 100%;
	height: 3.0em;
	padding: 0.25em 0 0.25em 0.5em;
	border: 2px solid #2b246a;
	/*box-shadow: 1px 1px 2px rgba(0,0,0,0.25);*/
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.field input.error,
.field textarea.error,
.field select.error {
	border-color: #E00;
	background: #FDC;
}
.field input.loading,
.field textarea.loading,
.field select.loading {
	border-color: #2b246a;
	background: #CCC;
}
.field input:focus,
.field textarea:focus,
.field select:focus,
.field input.error:focus,
.field textarea.error:focus,
.field select.error:focus {
	border-color: #ffed00;
}
/*COLUMNS - .field defaults to 1/3*/
.col-1 {
	width: 100%;
}
.col-1-2 {
	width: 50%;
}
.col-2-3 {
	width: 66.66%;
}/*
.col-1 input,
.col-1 textarea,
.col-1 select {
	width: 97%;
}
.col-1-2 input,
.col-1-2 textarea,
.col-1-2 select {
	width: 91%;
}
.col-2-3 input,
.col-2-3 textarea,
.col-2-3 select {
	width: 96%;
}*/
/*END COLUMNS*/
.field input.readonly,
.field textarea.readonly,
.field select.readonly {
	background: #EEE;
	color: #535353;
}
.datefield {
	/*display: block;*/
}
.datefield select {
	width: 30%;
	margin: 0;
}
.datefield select#DOB-month {
	margin: 0 5%;
}
.chrome .field select {
	/*background: -webkit-linear-gradient(180deg, #333 18px, #000 18px);*/
}
option {
	background: #FFF;
}
.DOB select {
	width: auto;
	margin: 0;
}
.checkfield {
	/*margin: 5px 15px;*/
	width: auto;
	display: block;
	height: 2em;
}
input[type=checkbox], input[type=radio] {
	margin: 0px 10px 10px 0;
	width: 20px;
	height: 20px;
	padding: 0;
	border: none;
	display: inline-block;
	vertical-align: top;
	float: left;
}
.checkfield label:not(.error),
.radiogroupfield label:not(.error) {
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	position: relative;
	max-width: 100%;
	display: inline-block;
	text-transform: none;
	color: #FFF;
	/*font-size: 1em;*/
}
.checkfield label.error,
.radiogroupfield label.error {
    display: inline-block;
    margin: 0 1em;
}
/*.checkfield label:before {
	content: '';
	background: transparent;
	border: 2px solid #FFF;
	position: absolute;
	top: 0;
	left: 0;
	height: 1em;
	width: 1em;
}*/
.submitfield {
	width: 20%;
	max-width: 200px;
	position: relative;
	padding: 0;
	height: 4.5em;
}
.submitfield #formsubmit {
	width: 100%;
	box-sizing: border-box;
}
.required {
	font-size: 0.8em;
	vertical-align: top;
}
dl.required {
	font-size: 1em;
	height: 1em;
	margin: 0.5em 0;
}
.required dt,
.required dd {
	display: inline-block;
}
.required dd {
	margin-left: 0em;
}
div.helper {
	font-size: 0.8em;
}
dl.helper {
	display: inline-block;
	width: 1.5em;
	position: relative;
	margin: 5px 5px 5px 0;
	height: 1.5em;
	vertical-align: top;
	z-index: 10;
	float: left;
}
.helper dt {
	position: absolute;
	top: 0;
	left: 0;
	width: 1.5em;
	height: 1.5em;
	text-align: center;
	background: #FFF;
	border-radius: 50%;
	border: 1px solid #ff1107;
	color: #ff1107;
	line-height: 1.5em;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
}
.helper dd {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 320px;
	background: #FFF;
	color: #222;
	text-align: center;
	border: 1px solid #ff1107;
	padding: 1em;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
	white-space: normal;
}
.helper dd p {
	margin: 0.5em 3%;
}
.helper dd img {
	display: block;
	width: 100%;
	height: auto;
  margin: 1em 0 0;
}
.helper:hover dd,
.helper:active dd {
	display: block;
}
#requiredfields {
	display: inline-block;
	margin: 0 15px;
	font-size: 0.85em;
}

.form .minimals {
	font-size: 0.75em;
	color: #FFF;
	clear: both;
	
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	-ms-transition: all 0.2s;
	-o-transition: all 0.2s;
	transition: all 0.2s;
}

#content .footer {
	position: relative;
	width: 100%;
	z-index: 100;
	text-align: center;
	background: #FFF;
	color: #2b246a;
}
#content .footer .minimals {
	text-align: center;
	padding: 15px 0;
	/*background: #000;
	background: rgba(0,0,0,0.8);*/
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	/*color: #FFF;*/
	font-weight: 100;
  display: inline-block;
  vertical-align: top;
}
#content .footer .minimals p {
	font-size: 10px;
	/*text-align: justify;*/
	margin: 0 1em;
	/*width: 700px;*/
	max-width: 100%;
	display: inline-block;
	vertical-align: top;
}
#content .footer .minimals a {
	color: inherit;
}
#content .footer .minimals .links {
	/*font-family: 'Londrina Solid', Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;*/
	text-transform: uppercase;
	padding: 1em 0;
}
#content .footer .minimals .links a {
	display: inline-block;
	margin: 0 1em 0 0;
	padding: 0 1em 0 0;
	text-decoration: none;
	font-size: 1em;
	border-radius: 0;
	border-right: 1px solid #9C9C9C;
}
#content .footer img#olympic-partner {
  display: inline-block;
  vertical-align: top;
  margin: 10px;
  width: 90px;
  height: auto;
}

/**********************
RECEIPT UPLOAD
**********************/
#photoupload {
	position: relative;
	top: -13.5em;
	left: 0;
	height: 14em;
	color: #FFF;
}
#upload.field {
	width: 100%;
}
#upload p {
	margin: 0 0 5px;
}
#uploadbutton {
	width: auto;
	position: relative;
	margin: 10px 1em 10px 0;
}
#imageupload {
	position: absolute;
	box-sizing: content-box;
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	top: 0;
	left: 0;
	opacity: 0;
	cursor: pointer;
	z-index: -1;
}
#uploadprogress {
	position: relative;
	display: inline-block;
	width: 90%;
	height: 3em;
	background: #666;
	opacity: 0;
}
.progressbar,
.progressmessage {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 3em;
	line-height: 3em;
}
.progressbar {
	background: #ffed00;
	width: 0%;
	
	background-image: -moz-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(0,0,0,0.1) 25px, rgba(0,0,0,0.1) 50px);
	background-image: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(0,0,0,0.1) 25px, rgba(0,0,0,0.1) 50px);
	background-image: -o-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(0,0,0,0.1) 25px, rgba(0,0,0,0.1) 50px);
	background-image: -ms-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(0,0,0,0.1) 25px, rgba(0,0,0,0.1) 50px);
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(0,0,0,0.1) 25px, rgba(0,0,0,0.1) 50px);
}
.progressmessage {
	color: #FFF;
	padding: 0 1em;
}
.progressmessage.error {
	background: #be0216;
}

@media all and (max-width:1200px) {
	.main .header {
		background-size: 100%;
		height: 0;
		padding-top: 78.3%;
    margin-bottom: 0em;
  }
	.form {
	}
	.form .minimals {
	}
}

@media all and (max-width:920px) {
	a {
		word-wrap: break-word;
	}

	#container {
		width: 100%;
	}
	#content {
		margin: 0;
		height: auto;
	}
	.floatingHeader {
		display: none;
	}
	#errorcontainer {
		position: static;
		top: 0;
		left: 0;
		margin: 0;
		width: auto;
	}
	.errors {
		position: static;
	}
	.body {
		/*position: static;
		width: auto;
		float: none;
		margin: 0 auto;
		padding: 1px 0 50px;
		border-width: 15px;
		height: auto;
		/*font-size: 0.8em;*/
	}
	.main {
		width: 100%;
	}
	.main .header {
    margin-bottom: 2em;
	}
  .main .header .minimals {
    position: static;
    text-align: center;
	}
	.main .header #enter-now {
		display: none;
	}
	.body .header {
	}
	#content .footer {
		position: static;
	}
	#content .footer .participating {
		position: static;
		transform: none;
		margin: 0 auto;
	}
	#content .footer .minimals p {
		width: auto;
		margin: 0 2em;
	}
	.form {
	}
	.field, .checkfield, .submitfield,
	div#field-AptNumber,
	div#field-StreetNumber {
		width: 100%;
		padding: 0;
	}
	.field label {
		font-size: 1em;
		display: block;
		width: 100%;
	}
	.field input, .field select {
		box-sizing: border-box;
		/*width: 100%;
		/*padding-top: 0;
		padding-bottom: 0;
		height: 2em;*/
	}
	.datefield select {
		/*width: auto;*/
	}
	.checkfield {
		height: auto;
	}
	.field input[type=checkbox] {
		width: 5%;
		height: 1.5em;
		margin: 0 0.5em 0 0;
		vertical-align: top;
		box-shadow: none;
		float: left;
	}
	.field input[type=radio] {
		width: 5%;
		height: 1.5em;
		margin: 0 0.5em 0 0;
		vertical-align: top;
		box-shadow: none;
	}
	.radiogroup-list {
		max-height: 200px;
		padding: 5px 1em;
		box-shadow: inset 0px -10px 15px -10px rgba(0,0,0,0.5),inset 0px 10px 15px -10px rgba(0,0,0,0.5);
		border: 1px solid #DDD;
	}
	.radiogroupfield label {
		display: inline-block;
		width: 89%;
	}
	.checkfield label:not(.error) {
		width: 100%;
		max-width: 100%;
		display: inline-block;
		line-height: 1.5em;
		padding: 0.5em 1em;
		box-sizing: border-box;
		background: #2b246a;
		color: #ffed00;
		border: 2px solid #FFF;
		border-radius: 2em;
		cursor: pointer;
	}
	.checkfield a:link, .checkfield a:visited {
		color: #ffed00;
	}
	.checkfield a:hover, .checkfield a:active {
		color: #FFF;
	}
	.helper {
		/*width: 10%;*/
	}
	fieldset#agreements {
		height: 10em;
	}
	.submitfield {
	}
	dl.required {
	}
	fieldset#agreements,
	.submitfield,
	dl.required {
		/*top: 12em;*/
	}
	
	#photoupload {
		height: 12em;
		top: -18em;
	}
	#uploadprogress {
		position: fixed;
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 100;
	}

}

/********* LOADING SPINNER *********/
.spinner {
	position: absolute;
	display: none;
	top: 2em;
	left: 0;
	width: 90%;
	height: 20px;
	text-align: center;
	margin: 0;
}
.submitfield .spinner {
	width: 100%;
	top: 50%;
	margin-top: -10px;
}
.loading ~ .spinner {
	display: block;
}
.loading ~ label.error {
	opacity: 0.5;
}

.spinner > div {
  width: 18px;
  height: 18px;
  background-color: #FFF;
  margin: 0 5px;
  opacity: 0.8;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}