@charset "UTF-8";
/* CSS Document */

/*****************************************/
/* FONTS */
/*****************************************/

@font-face {
    font-family: ITCAvantGardeStd-Md;
    src: url(../fonts/ITCAvantGardeStd-Md.ttf);
}

@font-face {
    font-family: ITCAvantGardeStd-Bold;
    src: url(../fonts/ITCAvantGardeStd-Bold.ttf);
}

/*****************************************/
/* RESET */
/*****************************************/

*,
*:before,
*:after,
*:active,
*:focus {
    outline: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	border: 0;
}

* {
    transition: .5s all ease-in-out;
}

input,
button {
	border: 0;
	-webkit-appearance: none;
    -webkit-border-radius: 0;
    background: transparent;
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
}

input[type="radio"] {
    -webkit-appearance: radio;
}

html, 
body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: ITCAvantGardeStd-Md, sans-serif;
	font-size: 24px;
	background: #fff;
	letter-spacing: 1px;
	line-height: 1.2;
	-webkit-text-size-adjust: none;
}

a {
	color: #cc0001;
}

b,
strong {
	font-family: ITCAvantGardeStd-Bold;
}

img {
	border: 0;
}

.alignleft {
	float: left;
	padding: 0 10px 10px 0;	
}

.alignright {
	float: right;
	padding: 0 0 10px 10px;	
}

.aligncenter {
	text-align: center;
	margin: 0 auto;
}

.center {
	text-align: center;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
 
.clearfix:after {
  clear: both;
}
 
.clearfix {
  zoom: 1; /* for IE 6 and 7 */
}

/*****************************************/
/* LOADING ANIMATION */
/*****************************************/

.loader {
  margin: 10px auto;
  border: 10px solid #eee;
  border-top: 10px solid #aaa;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1.5s linear infinite;
  display: none;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/*****************************************/
/* PROMO IMAGE */
/*****************************************/

picture {
	float: left;
	margin: 0;
	padding: 0;
	width: 100%;
}

#promo-image-container {
	float: left;
	width: 100%;
}

#promo-image-container img {
	width: 100%;
}

/*****************************************/
/* ENTRY FORM */
/*****************************************/

#entry-form-container {
	float: left;	
	width: 100%;
}

#entry-form-container .container {
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
	padding: 0;
	text-align: center;
}

#entry-form {
	margin: 0 auto 0;	
	width: 100%;
}

.col {
	float: left;
	padding: 0 10px;
	width: 40%;
}

.submit-button-col {
	float: left;
	padding: 50px 10px 0 10px;
	width: 20%;
}

.error {
	margin: 0 0 10px 0;
	font-size: 12px;
	text-align: left;	
	text-transform: initial;
	color: #ff0;
	display: none;
}

#entry-form {
	margin-top: 10px;
}

#entry-form input[type=text],
#entry-form input[type=email] {
	margin: 0 0 20px 0;
	padding: 15px 32px;
	font-family: ITCAvantGardeStd-Md, sans-serif;
	font-size: 23px;
	letter-spacing: 3px;
	color: #000;
	width: 100%;
	background: #fff;
	border: 2px solid #a6e7fd;
	border-radius: 40px;
}

#name {
	width: 100%;
}

#entry-form input[type=email] {
	width: 100%;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	font-family: ITCAvantGardeStd-Md, sans-serif;
	letter-spacing: 3px;
 	color: #2d7dc4;
}
::-moz-placeholder { /* Firefox 19+ */
	font-family: ITCAvantGardeStd-Md, sans-serif;
	letter-spacing: 3px;
 	color: #2d7dc4;
}
:-ms-input-placeholder { /* IE 10+ */
	font-family: ITCAvantGardeStd-Md, sans-serif;
	letter-spacing: 3px;
 	color: #2d7dc4;
}
:-moz-placeholder { /* Firefox 18- */
	font-family: ITCAvantGardeStd-Md, sans-serif;
	letter-spacing: 3px;
 	color: #2d7dc4;
}

#submit-button {
	margin: 0;
	padding: 15px 40px 10px 40px;
	width: 100%;
	font-family: ITCAvantGardeStd-Bold, sans-serif;
	font-size: 30px;
	letter-spacing: 3px;
	line-height: 1;
	text-transform: uppercase;
	color: #fff;
	background: #c40002;
	border-radius: 20px;
	cursor: pointer;
	text-align: center;
	display: inline-block;
}

#submit-button:hover {
	background: #F62F00;
}

/*****************************************/
/* IMAGE UPLOAD */
/*****************************************/

#entry-form input[type=file] {
	width: 100%;
}

.custom-upload-image-button::-webkit-file-upload-button {
  visibility: hidden;
}

.custom-upload-image-button::before {
	margin: 0;
	content: 'Upload Receipt';
	padding: 15px 32px;
	width: 100%;
	font-family: ITCAvantGardeStd-Md, sans-serif;
	font-size: 23px;
	letter-spacing: 3px;
	line-height: 1;
	color: #2d7dc4;
	background: #fff url("../images/upload-icon.png?v=2025-05-07") no-repeat right center !important;
	border-radius: 40px;
	background: #fff;
	border: 2px solid #a6e7fd;
	outline: none;
	white-space: nowrap;
	-webkit-user-select: none;
	display: inline-block;
	cursor: pointer;
}

.custom-upload-image-button::before:hover {
	background: #fff;
}

#upload-filename {
	margin: 10px 0 10px 0;
	font-size: 10px;
	display: block;
}


/*****************************************/
/* MEDIA QUERIES */
/*****************************************/

@media all and (max-width: 1070px) {

	.col {
		width: 37.5%;
	}

	.submit-button-col {
		width: 25%;
	}

}

@media all and (max-width: 980px) {

	.col {
		float: left;
		padding: 0 10px;
		width: 100%;
	}

	.submit-button-col {
		float: left;
		padding: 0 10px;
		margin: 0 0 40px 0;
		width: 100%;
	}

	#submit-button {
		margin: 10px 0 0 0;
	}

}

@media all and (max-width: 600px) {

	#entry-form {
		padding: 0 20px;	
		width: 100%;
	}

	#entry-form input[type=text],
	#entry-form input[type=email] {
		padding: 15px 32px;
		font-size: 21px;
	}

	.custom-upload-image-button::before {
		padding: 15px 32px;
		font-size: 21px;
	}
  
}

@media all and (max-width: 500px) {

	#entry-form input[type=text],
	#entry-form input[type=email] {
		padding: 15px 32px;
		font-size: 19px;
	}

	.custom-upload-image-button::before {
		padding: 15px 32px;
		font-size: 19px;
	}

	#submit-button {
		font-size: 24px;
	}
    
}

@media all and (max-width: 400px) {

	#entry-form input[type=text],
	#entry-form input[type=email] {
		padding: 15px 32px;
		font-size: 14px;
	}

	.custom-upload-image-button::before {
		padding: 15px 32px;
		font-size: 14px;
	}
    
}