@charset "utf-8";
@import url("fonts.css");
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
html, body {
	margin: 0;
	padding: 0;
}
body {
	background: #184379;
	color: #FFFFFF;
	font-family: 'oreo_sans', Arial, Helvetica, sans-serif;
	font-size: 14px;
}
h1,h2,h3,h4,h5,h6,fieldset legend{
	font-weight: bold;
	text-transform: uppercase;
	/*color: #FFF;*/
}
a:link, a:visited {
	color: #FFFFFF;
}
a:hover, a:active {
	color: #fec669;
}
a img {
	border: none;
}
::-webkit-input-placeholder {
   color: #828282;
}

:-moz-placeholder { /* Firefox 18- */
   color: #828282;  
}

::-moz-placeholder {  /* Firefox 19+ */
   color: #828282;  
}

:-ms-input-placeholder {  
   color: #828282;  
}
#thumb {
	display: none;
}
button,
.button,
a.button,
.field label.button,
.field input.button,
.field input[type="submit"] {
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-family: 'oreo_sans', Arial, Helvetica, sans-serif;
	font-size: 2em;
	font-weight: normal;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	width: auto;
	height: auto;
	padding: 0.5em 0.25em 0.35em;
	box-sizing: content-box;
	cursor: pointer;
	
	background: #fec669;
  color: #1d1d1b;
  border: 5px solid #1d1d1b;
  border-radius: 15px;
  
	
	-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,
.button:hover,
a.button:hover,
.field input.button:hover,
.field input[type="submit"]:hover,
.button:focus,
a.button:focus,
.field input.button:focus,
.field input[type="submit"]:focus {
	background: #FFF;
  color: #1d1d1b;
  outline: none;
}
button:loading,
.button.loading,
a.button.loading,
.field input.button.loading,
.field input[type="submit"].loading {
	background: #CCC;
	border-color: #CCC;
	color: #666;
  outline: none;
}
.highlight {
	color: #a03123;
}
.minimals {
	font-family: Verdana, Geneva, sans-serif;
}
#container {
	position: relative;
	margin: 0 auto;
}
#content {
	width: 100%;
  max-width: 100%;
  margin: 0 auto;
	/*height: 100%;*/
}
.body {
	/*background: #02a3d1;*/
	position: relative;
	padding: 0;
	width: 100%;
	text-align: center;
}
.main {
  background: linear-gradient(to bottom right, rgba(29,66,121,1) 0%, rgba(29,66,121,1) 30%, rgba(52,197,240,1) 50%, rgba(29,66,121,1) 80%, rgba(29,66,121,1) 100%);
	position: relative;
	width: 100%;
	max-width: 100%;
	min-height: 960px;
	margin: 0 auto 0;
	display: inline-block;
	text-align: center;
}
.main .header {
	position: relative;
	
	-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 img {
	max-width: 100%;
	height: auto;
  vertical-align: top;
}
.main .header .logos {
  padding: 1em;
  max-width: 1200px;
  margin: 0 auto -5%;
}
.main .header .logos img {
  vertical-align: middle;
}
.main .header .logo.oreo {
  max-width: 50%;
}
.main .header .logo.ww {
  max-width: 33%;
}
.main .header .column {
  display: inline-block;
  width: 50%;
}
.main .header .column:first-child {
  text-align: left;
}
.main .header .column:last-child {
  text-align: right;
}
.main .header .minimals {
	position: relative;
  clear: both;
	bottom: 2em;
  width: 100%;
	text-align: center;
}
.main .header + p {
  margin-bottom: 50px;
}
.main .header #enter-now {
  margin: 5% auto;
  padding-left: 1em;
  padding-right: 1em;
}
.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: 1200px;
	max-width: 100%;
	/*min-height: 700px;*/
	margin: 0px auto 40px;
	/*background: #2b246a;*/
	/*color: #ffed00;*/
	padding: 0 5%;
	/*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: 3em;
	/*letter-spacing: -0.1em;*/
	margin: 0.25em 0;
}
.body h2 img {
  max-width: 100%;
}
.form h2 {
}
.body h3,
.body h4,
fieldset legend {
	margin: 1em 0 0.5em;
	width: 100%;
	padding: 0;
}
fieldset legend {
	/*display: none;*/
  float: left;
  font-size: 1.25em;
}
#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,
.field label.error{
	color: #FFCA00;
	cursor: pointer;
  
  text-shadow: 2px 2px 5px #000;
	
	-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: 14em;
  display: inline-block;
  width: 75%;
}
fieldset#agreements,
.submitfield {
	position: relative;
	top: 8em;
  vertical-align: top;
  z-index: 2;
}
.field, .checkfield, .submitfield {
	position: relative;
	/*display: inline-block;*/
  display: inline-flex;
  flex-wrap: wrap;
	width: 33.3333%;
	vertical-align: top;
	margin: 0.5em 0;
	padding: 0 1em 0 0;
	box-sizing: border-box;
}
div#field-LastName {
  /*margin-right: 10px;*/
}
div#field-Postcode,
div#field-State {
	width: 16.667%;
}
.field label {
  display: block;
	width: auto;
	font-size: 1em;
	text-transform: uppercase;
	font-weight: normal;
  flex-basis: 100%;
  /*color: #1d1d1b;*/
}
.field input,
.field textarea,
.field select {
	background: #FFF;
	color: #0A2D4B;
	font-family: 'Roboto Condensed', Arial, Helvetica, sans-serif;
	font-size: inherit;
	max-width: 100%;
  flex: 1;
	height: 3.0em;
	padding: 0.25em 0 0.25em 0.5em;
	border: 3px solid #1d1d1b;
	/*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: #0A2D4B;
	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: #fec669;
  outline-color: #fec669;
}
.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% 0;
}
.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;
}
.radiogroupfield {
  padding-right: 0;
}
.radiogroup-list {
  width: 100%;
}
.radiogroup-option {
  display: inline-flex;
  width: 50%;
  position: relative;
  vertical-align: top;
  box-sizing: border-box;
  padding-right: 1em;
}
.radiogroup-option input {
  opacity: 0;
  position: absolute;
}
.radiogroup-option label {
  cursor: pointer;
  display: inline-block;
  height: 3em;
  border: 2px solid #0A2D4B;
  vertical-align: top;
  box-sizing: border-box;
  padding: 0.75em 0.5em 0.25em 0.5em;
  transition: all 0.2s;
}
.radiogroup-option input:checked + label {
  background: #0A2D4B;
  color: #FFF;
}
/*.checkfield label:before {
	content: '';
	background: transparent;
	border: 2px solid #FFF;
	position: absolute;
	top: 0;
	left: 0;
	height: 1em;
	width: 1em;
}*/
.submitfield {
	width: auto;
	max-width: 20em;
	position: relative;
	/*padding: 0;*/
	height: auto;
  text-align: center;
  vertical-align: bottom;
}
.submitfield #formsubmit {
	/*width: 100%;*/
	box-sizing: border-box;
  font-size: 2em;
}
.submitfield #formsubmit span {
  display: block;
  font-size: 2.2em;
}
.required {
	font-size: 0.8em;
  font-family: Verdana, Geneva, sans-serif;
  position: relative;
  top: -0.4em;
}
dl.required {
	margin: 0.5em 0;
}
.required dt,
.required dd {
	display: inline-block;
}
.required dd {
	margin-left: 0em;
}
div.helper {
	font-size: 0.8em;
  flex-basis: 100%;
  font-family: Verdana, Geneva, sans-serif;
}
dl.helper {
	display: inline-block;
	width: 1.5em;
	position: relative;
	margin: 5px;
	height: 1.5em;
	vertical-align: middle;
	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);
  
  /*
	background: none;
  color: #fcf0ff;
  text-shadow: 0 0 2px #fcf0ff, 0 0 10px rgba(255, 0, 127, 0.8), 0 0 60px #ff6dcf, 3px 4px 5px #000;
  border: 1px solid #befcff;
  box-shadow: 0 0 40px rgba(183, 123, 255, 0.5), 2px 2px 5px #000, 0 0 40px rgba(183, 123, 255, 0.5) inset, 2px 2px 5px #000 inset;*/
}
.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;
  z-index: 1000;
  
  
	/*background: #311a62;
  color: #fcf0ff;
  text-shadow: 0 0 2px #fcf0ff, 0 0 10px rgba(255, 0, 127, 0.8), 0 0 60px #ff6dcf, 3px 4px 5px #000;
  border: 5px solid #befcff;
  box-shadow: 0 0 40px rgba(183, 123, 255, 0.5), 5px 5px 5px #000, 0 0 40px rgba(183, 123, 255, 0.5) inset, 5px 5px 5px #000 inset;
  border-radius: 50px;*/
}
.helper dd p {
	margin: 0.5em 3%;
}
.helper dd img {
	display: block;
	width: 100%;
	height: auto;
}
.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;
	clear: both;
  text-align: justify;
	
	-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%;
	max-width: 100%;
  margin: 0 auto;
  padding: 0;
	z-index: 100;
	text-align: center;
  box-sizing: border-box;
	background: #FFF;
	color: #1d1d1b;
}
#content .footer .minimals {
	text-align: center;
	padding: 15px 5%;
	/*background: #000;
	background: rgba(0,0,0,0.8);*/
	/*color: #FFF;*/
	font-weight: 100;
  display: inline-block;
  vertical-align: top;
}
#content .footer .minimals p {
	font-size: 0.75em;
	/*text-align: justify;*/
	margin: 1em;
	/*width: 700px;*/
	max-width: 100%;
	display: block;
	vertical-align: top;
}
#content .footer .minimals img.logo {
  margin: 2em auto;
  max-width: 100%;
}
#content .footer .minimals a:link,
#content .footer .minimals a:visited {
  color: #1d1d1b
}
#content .footer .minimals a:hover,
#content .footer .minimals a:active {
  color: #fec669;
}
#content .footer .minimals .links {
	font-family: 'oreo_sans', Arial, Helvetica, sans-serif;
  font-size: 1.3em;
	text-transform: uppercase;
	padding: 1em 0;
  color: #114597;
}
#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;
  color: #114597;
}
#content .footer img#olympic-partner {
  display: inline-block;
  vertical-align: top;
  margin: 10px;
  width: 90px;
  height: auto;
}

/**********************
RECEIPT UPLOAD
**********************/
#photoupload {
	position: relative;
	top: -15em;
	left: 0;
	height: 9em;
  z-index: 1;
}
#photoupload legend {
  display: none;
}
#upload.field {
	/*width: 100%;
  padding: 0;*/
}
#photoupload p{
  display: inline-block;
	font-family: Verdana, Geneva, sans-serif;
  margin-top: 2em;
  font-size: 0.85em;
}
#upload #uploadbutton {
	width: auto;
  display: inline-block;
}
#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;*/
  display: block;
  height: auto;
  width: auto;
  line-height:  2em;
  color: #828282;
}
#uploadprogress {
	position: relative;
	display: inline-block;
	width: 98%;
	height: 3em;
	background: #828282;
	opacity: 0;
}
.progressbar,
.progressmessage {
	position: absolute;
	top: 0;
	left: 0;
	min-height: 3em;
	line-height: 3em;
}
.progressbar {
	background: #fec669;
	width: 0%;
  max-width: 100%;
  transition: all 0.1s;
	
	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);
}
.progressbar.complete {
  background-image: none;
}
.progressmessage {
	color: #FFF;
	padding: 0 1em;
}
.progressmessage.error {
	background: #be0216;
}
.mobile-only {
  display: none;
}

@media all and (max-width:640px) {
 .mobile-only {
    display: inherit;
  }
 .mobile-hide {
    display: none;
  }
  .mobile-layout {
    padding-top: 5%;
    padding-left: 30%;
    padding-bottom: 10%;
  }
	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 {
	}
  .main .header .logos {
    margin-bottom: -5%;
    padding: 1em;
  }
  .main .header .logos img {
  }
  .main .header .logo.oreo {
    max-width: 75%;
  }
  .main .header .logo.ww {
    max-width: 50%;
  }
  .main .header .column {
  }
	.main .header h2 {
    width: 100%;
    padding: 0 5%;
    margin: 0;
    text-align: center;
    float: none;
	}
  .main .header .minimals {
    position: static;
    text-align: center;
	}
	.body .header {
	}
	#content .footer {
		position: static;
    padding-bottom: 3em;
	}
	#content .footer .participating {
		position: static;
		transform: none;
		margin: 0 auto;
	}
	#content .footer .minimals p {
		width: auto;
		margin: 1em 2em;
	}
	.form {
	}
	.field, .checkfield, .submitfield,
	div#field-Postcode,
  div#field-Suburb,
  div#field-State {
		width: 100%;
		padding: 0;
	}
  div#field-Postcode,
  div#field-State {
    width: 50%;
  }
  div#field-Postcode {
    padding-right: 1em;
  }
	.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-option {
    /*width: 20%;*/
	}
	.radiogroupfield label {
		display: inline-block;
		width: 50%;
	}
	.radiogroup-list {
    padding: 0;
		/*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;*/
	}
	.checkfield label:not(.error) {
		width: 100%;
		max-width: 100%;
		display: inline-block;
		line-height: 1.5em;
		padding: 0.5em 0em;
		box-sizing: border-box;
		background: none;
		/*border: 2px solid #0A2D4B;*/
		border-radius: 2em;
		cursor: pointer;
	}
	.checkfield a:link, .checkfield a:visited {
		color: #0A2D4B;
	}
	.checkfield a:hover, .checkfield a:active {
		color: blue;
	}
	dl.helper {
    position: static;
		/*width: 10%;*/
  }
  .helper dt {
    position: relative;
  }  
  .helper dd {
    max-width: 100%;
    box-sizing: border-box;
  }  
	fieldset#agreements {
    width: 100%;
		height: 17em;
	}
	.submitfield {
    float: none;
    max-width: none;
	}
	.form .minimals {
    margin-top: 6em;
	}
	dl.required {
	}
	fieldset#agreements,
	.submitfield{
		/*top: 12em;*/
	}
	
	#photoupload {
		height: 8em;
		top: -23em;
	}
	#uploadprogress {
		position: fixed;
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 100;
    box-sizing: border-box;
    background: #FFF;
    height: 3em;
	}
  .progressmessage {
    font-size: 2.3vw;
    line-height: 32px;
  }
  #upload p,
  #upload label {
    width: auto;
    float: none;
  }
  #photoupload p {
    margin-top: 0;
  }

}

/********* 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);
  }
}