#registrationFormError_div {
	  margin-top: 15px;
	  margin-bottom: 0px; }
	
	.force_no_wrap {
	  width: 100%;
	  height: 22px;
	  white-space: nowrap;
	  overflow: hidden;
	  text-overflow: ellipsis; }
	
	#registrationFormError_ul {
		list-style-type: disc; }
		
	#registrationFormError_ul li.error_fixed {
	  background: white; }
	
	#registrationFormError_ul li.error_fixed:before {
	  content: "\f058";
	  font-size: 15px;
	  font-family: "FontAwesome";
	  color: #159908;
	  margin-left: 5px; 
	  margin-right: 10px; }
	  
#registrationPage { padding-top: 20px; }

#registrationPage header.details {
	width: 100%;
	float: left;
	position: relative; }

	#registrationPage header.details figure {
		width: 100px;
		height: 100px;
		float: left;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-align-content: center;
		align-content: center;
		padding: 4px;
		margin: 0;
		background: #fff;
		border: 1px solid #e4e4e4; }

	#registrationPage header.details .content { overflow: hidden; }

	#registrationPage header.details .top {
		width: 100%;
		float: left;
		padding: 10px 0 13px 20px;
		margin-bottom: 15px;
		border-bottom: 1px solid #e4e4e4; }

	#registrationPage header.details .title { 
		max-width: 70%;
		float: left; }
		
		#registrationPage header.details .title h1 {
			display: inline;
			margin: 0 7px 0 0;
			font-size: 26px; }
			
		#registrationPage header.details .title a.info, a.relay_only {
			display: inline-block;
			padding: 3px 10px;
			vertical-align: bottom;
			border-radius: 30px;
			font-size: 13px;
			line-height: normal; }
				
			#registrationPage header.details .title a.info:hover, a.relay_only:hover {
				background: #e9e9e9;
				text-decoration: none; }

	#registrationPage header.details .right { 
		max-width: 30%;
		float: right;
		margin-top: 6px;
		text-align: right; }

		#registrationPage header.details .right span {
			float: right;
			padding-right: 25px;
			line-height: normal; }

			#registrationPage header.details .right .location { 
				background: url(../images/icon_location.png) top 1px right 3px no-repeat;
				background: url(../images/svg/icon_location.svg) top 1px right 3px no-repeat, linear-gradient(transparent, transparent);
				background-size: 10px; }
					
			#registrationPage header.details .right .date { 
				margin-left: 27px;
				background: url(../images/icon_calendar.png) top 1px right no-repeat;
				background: url(../images/svg/icon_calendar.svg) top 1px right no-repeat, linear-gradient(transparent, transparent);
				background-size: 15px; }

	#registrationPage header.details .bottom {
		width: 100%;
		float: left;
		padding: 0 0 0 20px; }

		#registrationPage header.details .bottom ul {
			display: -webkit-box;
			display: -webkit-flex;
			display: flex;
			padding: 0;
			margin: 0 -5px;
			list-style: none;
			font-size: 13px; }

			#registrationPage header.details .bottom ul li { 
				-webkit-flex: 1;
				flex: 1;
				padding: 0 5px; }

				#registrationPage header.details .bottom ul li a { 
					height: 100%;
					display: block;
					padding-bottom: 13px;
					border-bottom: 4px solid #ddd;
					color: #aaa; }
					
					#registrationPage header.details .bottom ul li a:hover {
						border-color: #aaa;
						text-decoration: none; }

					#registrationPage header.details .bottom ul li a.viewing { 
						border-color: #444444 !important;
						color: #444444 !important; }
					  
					  #registrationPage header.details .bottom ul li a.complete { 
						border-color: #79ae3c;
						color: #79ae3c; }
					  
					  #registrationPage header.details .bottom ul li a.complete.active { 
						border-color: #1c6603;
						color: #1c6603; }

					#registrationPage header.details .bottom ul li a span.num { color: #aaa; }
					
					#registrationPage header.details .bottom ul li a span.num.viewing { color: #444444; }
					
					#registrationPage header.details .bottom ul li a span.num.complete { color: #79ae3c; }
					
					#registrationPage header.details .bottom ul li a span.num.complete.viewing { color: #1c6603; }
					
					#registrationPage header.details .bottom ul li a span.mobile { display: none; }

#registrationPage .fixedBar {
	width: 100%;
	height: auto;
	float: left; }

	#registrationPage .fixedBar > div { 
		width: 100%;
		height: auto;
		float: left;
		top: 68px;
		left: 0;
		z-index: 10; }

		#registrationPage .fixedBar > div.on { position: fixed; }

	#registrationPage .fixedBar .wrap {
		width: 100%;
		float: left;
		position: relative;
		padding: 20px 0 20px;
		background: #fff;
		border-bottom: 1px solid #e4e4e4; }

		#registrationPage .fixedBar .on .wrap { padding: 20px 80px; }

	#registrationPage .fixedBar .refine {
		width: 250px;
		float: left;
		margin-right: 40px;
		position: relative; }

		#registrationPage .fixedBar .refine:after { 
			content: "\f002";
			position: absolute;
			top: 10px;
			right: 10px;
			z-index: 10;
			font-family: "FontAwesome";
			color: #aaa; }

		#registrationPage .fixedBar .refine input.text { 
			width: 100%;
			height: 40px;
			padding-right: 30px; }

	#registrationPage .fixedBar .registerNum { float: left; }
	
		#registrationPage .fixedBar .registerNum .athletesWrap { float: left; }

		#registrationPage .fixedBar .registerNum .styledSelect { margin: 0 0 0 5px; }

		#registrationPage .fixedBar .registerNum .importBtns { float: left; }
		
		#registrationPage .fixedBar .registerNum .onlyRelaysBtn { float: left; padding: 8px; }
		
	#registrationPage .fixedBar a.grey {
		height: 40px;
		float: left;
		padding: 10px 13px;
		margin-left: 10px;
		background-color: #fafafa;
		border: 1px solid #ccc;
		font-size: 14px;
		font-weight: 500;
		color: #222; }
			
		#registrationPage .fixedBar a.import svg {
			width: 16px;
			height: 16px;
			vertical-align: middle;
			margin: -3px 7px 0 0; }
		
	  #registrationPage .fixedBar a.switch:before { 
		content: "\f0c0";
		display: inline-block;
		margin-right: 7px;
		font-family: "FontAwesome";
		font-size: 16px;
		-webkit-font-smoothing: antialiased; }
	  
	  label.lock_icon:before { 
		content: "\f023";
		display: inline-block;
		margin-right: 7px;
		font-family: "FontAwesome";
		font-size: 16px;
		-webkit-font-smoothing: antialiased; }
	  
	  label.share_icon:before { 
		content: "\f0c1";
		display: inline-block;
		margin-right: 7px;
		font-family: "FontAwesome";
		font-size: 16px;
		-webkit-font-smoothing: antialiased; }
		  
		/*#registrationPage .fixedBar a.share { 
			padding-left: 37px;
			background: url(../images/icon_link2.png) left 13px center no-repeat #fafafa;
			background: url(../images/svg/icon_link2.svg) left 13px center no-repeat, linear-gradient(transparent, transparent), #fafafa;
			background-size: 16px; }*/
		
	  #registrationPage .fixedBar a.share {
		padding-left: 10px; }
	  
	  #registrationPage .fixedBar a.share:before { 
		content: "\f0c1";
		display: inline-block;
		margin-right: 7px;
		font-family: "FontAwesome";
		font-size: 16px;
		-webkit-font-smoothing: antialiased; }
			
		#registrationPage .fixedBar a.individual:before {
			content: "\f0ca";
			display: inline-block;
			margin-right: 7px;
			font-family: "FontAwesome";
			font-size: 16px;
			-webkit-font-smoothing: antialiased; }
			
		#registrationPage .fixedBar a.spreadsheet { border-left: none; }
			
			#registrationPage .fixedBar a.spreadsheet:before {
				content: "\f0ce";
				display: inline-block;
				margin-right: 7px;
				font-family: "FontAwesome";
				font-size: 16px;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale; }
				
		#registrationPage .fixedBar a.grey:hover, #registrationPage .fixedBar a.grey.active {
			background-color: #eee;
			color: #222;
			text-decoration: none; }
				
	#registrationPage .fixedBar .formatBtns { float: right; }
	
		#registrationPage .fixedBar .formatBtns > span { 
			float: left;
			margin-right: 10px;
			line-height: 40px; }
			
		#registrationPage .fixedBar .formatBtns a { 
			margin: 0;
			color: #bbb; }
		
	#registrationPage .fixedBar .requiredText {
		position: absolute;
		top: 31px;
		right: 0;
		font-size: 13px;
		font-style: italic; }
		
#registrationPage .page_content { display: none; }

	#registrationPage .page_content.active { display: block; }

#registrationPage main {
	width: 100%;
	float: left;
	position: relative;
	padding: 20px 0 0; }
	
	#registrationPage #registration_individual main { padding: 20px 0 0 250px; }
	
	#registrationPage main aside a.open { display: none; }
	
	#registrationPage main aside {
		width: 250px;
		float: left;
		/*position: absolute;*/
		position: sticky;
		margin-left: -250px;
		top: 20px;
		bottom: 0;
		left: 0;
		padding-top: 40px; }
		
		#registrationPage main aside .refine { 
			width: 100%;
		  max-width: 250px;
			height: 40px;
			float: left;
			position: absolute;
			top: 0;
			left: 0; }
			
			#registrationPage main aside .refine:after { 
				content: "\f002";
				position: absolute;
				top: 10px;
				right: 15px;
				z-index: 10;
				font-family: "FontAwesome";
				color: #aaa; }
			
			#registrationPage main aside .refine input { 
				width: 100%;
				height: 40px;
				padding: 10px 40px 10px 15px;
				border: 1px solid #e4e4e4;
				border-bottom: none; }

		#registrationPage main aside ul {
			width: 100%;
			max-height: 100%;
			/*max-height: 741px;*/
			float: left;
			padding: 0;
			margin: 0;
			list-style: none;
			background: #f5f5f5;
			border: 1px solid #e4e4e4;
			overflow-x: hidden;
			overflow-y: auto;
			font-size: 13px; }
			
			#registrationPage main aside ul::-webkit-scrollbar {
			  -webkit-appearance: none;
			  width: 7px;
			}
			
			#registrationPage main aside ul::-webkit-scrollbar-thumb {
			  border-radius: 4px;
			  background-color: rgba(0, 0, 0, .5);
			  box-shadow: 0 0 1px rgba(255, 255, 255, .5);
			}
			
			#registrationPage main aside li {
				width: 100%;
				float: left;
				margin: 0;
				border-bottom: 1px solid #e4e4e4;
				line-height: normal; }

				#registrationPage main aside li:last-child { border: none; }

				#registrationPage main aside li a.registrant_delete_link {
				  padding: 10px 5px 10px 5px;
				  width: 22px;
				  display: block;
				  float: right;
				  opacity: 0.3; }
				  
				  #registrationPage main aside li a.registrant_delete_link:hover {
					opacity: 1.0;
					text-decoration: none !important; }
				  
				  #registrationPage main aside li a.registrant_delete_link:after {
					content: "\f1f8";
					color: #d22129;
					font-size: 15px;
					font-family: "FontAwesome";
					text-decoration: none !important; }

				#registrationPage main aside li a.registrant_link {
					float: left;
					width: calc(100% - 23px);
					display: block;
					padding: 10px 15px 10px 13px;
					border-left: 2px solid transparent;
					color: #222;
					white-space: nowrap;
					overflow: hidden;
					text-overflow: ellipsis; }
					
					#registrationPage main aside li a.registrant_link:hover { 
						background: #eee;
						text-decoration: none; }
					
					#registrationPage main aside li.active a.registrant_link { 
						background: #daeef2;
						border-left: 2px solid #36a6bc; }
						
					#registrationPage main aside li.error a.registrant_link { 
						background: #fff9e7;
						border-left: 2px solid #f5af43; }
					  
					  #registrationPage main aside li.error { 
						 border-top: 0px !important;
						 border-bottom: 0px !important;
						 border-right: 0px !important; }
						
		#registrationPage main aside .close {
			width: 100%;
			height: 40px;
			float: left;
			display: none;
			position: absolute;
			bottom: 0;
			left: 0;
			background: #d54d4d;
			border-top: 1px solid #e4e4e4;
			border-right: 1px solid #e4e4e4;
			text-align: center;
			font-weight: bold;
			line-height: 40px; }
		
			#registrationPage main aside .close a { 
				display: block;
				color: #fff; }
			
		#registrationPage main aside a.open { 
			width: 60px;
			height: 40px;
			position: absolute;
			bottom: 100px;
			right: -60px;
			z-index: -1;
			padding: 0 15px 0 0;
			background: #36a6bc;
			box-shadow: 0 0 5px rgba(0,0,0,0.3);
			text-align: right;
			font-size: 20px;
			color: #fff;
			line-height: 40px; }
			
			#registrationPage main aside a.open:after {
				content: "\f0c0";
				font-family: 'FontAwesome';
				text-rendering: auto;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale; }
				
			#registrationPage main aside a.open:hover { text-decoration: none; }

	#registrationPage main .main {
		width: 100%;
		float: left;
		padding-left: 40px; }

		#registrationPage .form {
			width: 100%;
			float: left;
			position: relative; }

		#registrationPage main .main .requiredText {
			position: absolute;
			top: 0;
			right: 0;
			font-size: 13px;
			font-style: italic; }
			
			#registrationPage main .main .requiredText i, i.req { 
				color: red;
				font-weight: bold; }
				
			i.req { font-style: normal; }

		#registrationPage main .main .group {
			width: 100%;
			float: left;
			padding-bottom: 10px;
			margin-bottom: 25px;
			border-bottom: 1px solid #e4e4e4; }

			#registrationPage main .main .group:last-child { 
				padding-bottom: 0;
				border-bottom: none; }

		#registrationPage .col_row { margin: 0 -12px; }

			#registrationPage .col_row .col { 
				padding: 0 12px;
				margin-bottom: 15px; }

			/*#registrationPage .col_row .col_4:nth-child(3n+1) { clear: both; }*/

		#registrationPage label.inline {
			display: inline-block;
			font-size: 13px; }

		#registrationPage label.title {
			display: block;
			margin-bottom: 7px;
			font-size: 13px; }

			#registrationPage label.title span.fontN { font-weight: normal; }

		#registrationPage .radioOptions { padding: 10px 0; }
		
			#registrationPage .radioOptions label { 
				display: inline-block;
				margin-right: 15px; }
		
		#registrationPage .admin_payment_option label.title {
		  font-weight: bold;
		  display: block; }
		
		#registrationPage .admin_payment_option {
		  padding: 10px;
		  background: #e7faff;
		  border: 1px solid #58a4b9;
		  color: #222;
		  margin-top: -35px;
		  display: block; 
		  float: right; }
		
		#registrationPage input[type="radio"], 
		#registrationPage input[type="checkbox"] { margin-left: 0; }

		#registrationPage input[type="text"] { height: 40px; }

			#registrationPage input.full { width: 100%; }
			#registrationPage input.inline { margin-left: 5px; }
			#registrationPage input.dob { width: 57px; }
			#registrationPage input.seed_hour { width: 35px;  padding: 0px; text-align: center; }
			#registrationPage input.seed { width: 40px; padding: 0px; text-align: center; }
			#registrationPage input.seed_seconds { width: 70px;  padding: 0px; text-align: center; }
			#registrationPage input.seed_meter { width: 60px;  padding: 0px; text-align: center; }
			
			#registrationPage input.points { width: 152px; }

		/*#registrationPage main .main .eventList { padding-bottom: 25px; }*/
		
			#registrationPage main .main .eventList .events { 
				margin: 0 -12px;
				font-size: 13px; }
				
				#registrationPage main .main .eventList .events.disable { display: none; }
				
				#registrationPage main .main .eventList .events .half {
					width: 50%;
					float: left;
					padding: 0 12px; }
			  
			#registrationPage main .main .eventList .events .third {
			  width: 33.333%;
			  float: left;
			  padding: 0 12px; }
					
			#registrationPage main .main .eventList h5 { 
				width: 100%;
				float: left;
				padding-bottom: 10px;
				margin-top: 1.5rem;
				border-bottom: 1px solid #222; }
		
		  #registrationPage main .main .eventList ul {
				padding: 0;
				/*margin: 0 -10px;*/
			margin: 0;
				list-style: none; }
				
				#registrationPage main .main .eventList ul li {
					width: 100%;
					float: left;
					position: relative;
					/*padding: 0 165px 0 125px;*/
					margin-top: 15px; }
					
					#registrationPage main .main .eventList ul li .label {
				width: 100%;
						/*width: 115px;*/
						float: left;
						/*margin-left: -115px;*/
						/*line-height: 40px;*/
						/*white-space: nowrap;*/ }
						
					#registrationPage main .main .eventList ul li .dropdown {
						width: 100%;
						float: left;
						padding-right: 10px; }
						
					#registrationPage main .main .eventList ul li .seeds {
						width: 155px;
						float: right;
						/*margin-right: -155px;*/ }
						
					#registrationPage main .main .eventList ul li.head { 
						font-size: 13px;
						font-weight: bold; }
					
						#registrationPage main .main .eventList ul li.head .label { line-height: 1.3; }
					
				#registrationPage main .main .eventList ul li.disable .indEventBlockInputs { display: none; }
				
		#registrationPage .errorBox {
			width: 100%;
			float: left;
			position: relative;
			padding: 10px 10px 10px 34px;
			margin-bottom: 1.5rem;
			background: #fff9e7;
			border: 1px solid #f5af43;
			color: #222; }
			
			#registrationPage .errorBox.success {
				background: #f9fdef;
				border: 1px solid #3dac12; }
			
			#registrationPage .errorBox:before {
				content: "\f071";
				position: absolute;
				top: 12px;
				left: 10px;
				margin-right: 7px;
				font-family: "FontAwesome";
				color: #f5af43; }
				
			
			#registrationPage .errorBox.success:before {
				content: "\f058";
				color: #3dac12; }

			#registrationPage .errorBox h5 { margin-bottom: 10px; }

			#registrationPage .errorBox ul { margin-bottom: 0; }

		#registrationPage .error {
			background: #fff9e7;
			border: 1px solid #f5af43; }

			#registrationPage .radioOptions.error { padding: 10px; }

		#registrationPage .styledSelect.error { border: none; }

			#registrationPage .styledSelect.error select {
				background: #fff9e7;
				border: 1px solid #f5af43; }

			#registrationPage .styledSelect.error span.arr { background: #fff9e7; }

		#registrationPage main .main .addPurchases .col_4 { margin-bottom: 10px; }

		#registrationPage main .main .addPurchases .col_4:nth-child(3n+1) { clear: both; }

		#registrationPage main .main .addPurchases .col > div { 
			width: 100%;
			float: left;
			box-shadow: 0 0 5px rgba(0,0,0,0.2); }

		#registrationPage main .main .addPurchases figure {
			width: 100%;
			height: 200px;
			float: left;
			display: -webkit-box;
			display: -webkit-flex;
			display: flex;
			-webkit-align-items: center;
			align-items: center;
			-webkit-justify-content: center;
			justify-content: center;
			padding: 4px;
			margin: 0;
			border-bottom: 1px solid #e4e4e4;
			overflow: hidden; }

			#registrationPage main .main .addPurchases figure img {
				max-width: 100%;
				max-height: 100%; }

		#registrationPage main .main .addPurchases .info {
			width: 100%;
			float: left;
			padding: 15px;
			background: #fff; }

		#registrationPage main .main .addPurchases .name { 
			margin-bottom: 5px;
			font-weight: bold; }

		#registrationPage main .main .addPurchases .price { margin-bottom: 15px; }
		
		#registrationPage main .main .addPurchases .description { margin-bottom: 15px; font-size: 12px; }
		
		

		#registrationPage main .main .addPurchases .styledSelect { margin-bottom: 15px; }

		#registrationPage main .main .addPurchases .quantity { text-align: center; }

			#registrationPage main .main .addPurchases .quantity strong { 
				display: block;
				margin-bottom: 10px;
				color: #999;
				font-size: 13px; }

			#registrationPage main .main .addPurchases .quantity input.num {
				width: 50px;
				height: auto;
				padding: 10px;
				margin: 0 5px;
				border-top: none;
				border-bottom: none;
				text-align: center; }

			#registrationPage main .main .addPurchases .quantity button {
				width: 30px;
				height: 30px;
				display: inline-block;
				vertical-align: top;
				padding: 0 0 2px;
				margin-top: 3px;
				background: none;
				border: none;
				color: #999;
				font-size: 20px;
				cursor: pointer; }

				#registrationPage main .main .addPurchases .quantity button:hover { color: #222; }

#registrationPage .foot {
	width: 100%;
	height: 30px;
	float: left; }

	#registrationPage .foot .footFixed {
		width: 100%;
		height: 60px;
		float: left;
		bottom: 0;
		left: 0; }

		#registrationPage .foot .footFixed.on { position: fixed; }

	#registrationPage .foot .wrap { 
		width: 100%;
		height: 60px;
		float: left;
		padding: 10px 0 0;
		background: #fff; }

		#registrationPage .foot .footFixed.on .wrap { padding: 10px 80px 0; }

	#registrationPage .foot .btns { 
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		margin: 0 -5px; }

		#registrationPage .foot .btns div {
			-webkit-flex: 1;
			flex: 1;
			padding: 0 5px; }

			#registrationPage .foot .btns div a {
				width: 100%;
				float: left;
				padding: 12px 0;
				margin: 0 auto;
				background: #eee;
				border: none;
				text-align: center;
				text-transform: uppercase;
				font-size: 14px;
				color: #222;
				cursor: pointer; }

				#registrationPage .foot .btns div a.proceed { color: #fff; }
					
#registrationPage.single .fixedBar .refine, #registrationPage.single #registration_individual main aside { display: none; }

#registrationPage.single #registration_individual main, #registrationPage.single #registration_individual main .main { padding-left: 0; }

.labelDiv h3 {
	  border-bottom: 1px solid #c6c6c6;
	  padding-bottom: 10px; }
	
	.sm_red_txt {
	  color: red;
	  font-size: 11px; }
	
	.sm_grey_txt {
	  color: #aaaaaa;
	  font-size: 11px; }  
	  
	.quest_admin_only {
	   padding-top: 10px !important;
	   border: 1px solid #790004;
	   background: #ffe4e5; }
	   
	.quest_remain_chars {
	  width: 70px;
	  text-align: right;
	  position: absolute;
	  font-size: 20px;
	  color: #aaaaaa;
	  margin-top: 6px; 
	  margin-left: -80px; }
	 
	 .quest_remain_chars.textarea {
	   margin-top: 18px !important; }
	  
	  .maxLengthPaddingRight {
		padding-right: 60px !important; }
	   
	   .revert_a {
		 position: absolute;
		 margin-left: -25px; }
		 
		 .revert_a:before {
			padding-top: 10px;
			content: "\f0e2";
			font-size: 16px;
			display: inline-block;
			color: #3da3b9;
			font-family: "FontAwesome"; }
			
		  .withRevertBtn { 
			padding-right: 30px !important; }
		  
		  .autoPopulateTextField {
			animation-name: textboxColorPulse;
			animation-duration: 1s;
			animation-iteration-count: 1; }
		  
		  @keyframes textboxColorPulse {
			0% {
			  background: none;
			}
			50% {
			  background-color: rgba(242, 234, 174, 0.4);
			}
			100% {
			   background: none;
			}
		  }
	   
	a.lock_icon:before {
		cursor: hand;
		margin-left: 10px;
		content: "\f023";
		display: inline-block;
		color: black;
		font-family: "FontAwesome"; }
		
	a.unlock_icon:before {
		cursor: hand;
		margin-left: 10px;
		content: "\f09c";
		display: inline-block;
		color: #d0d0d0;
		font-family: "FontAwesome"; }
		
		.list_tooltip {
			margin-bottom: 0; 
			margin-left: 20px;
			list-style-type: disc; }
		
	.questDiv .select2, .questDiv .select2, .regFormSelect {
	  max-width: 100%;
	  width: 100% !important; }
	  
	  .questDiv .select2.error a, .questDiv .select2.error span {
		background-color: #fffae7 !important; }
		
	  .questDiv .select2 a {
		color: black !important; }
	
	.questDiv textarea {
		width: 100%;
		height: 70px;
		padding: 10px;
		margin: 0 auto 7px;
		border: 1px solid #ccc;
		font: inherit;
		font-size: 13px; }
		
		.questDiv input[type="text"]:focus, 
		.questDiv textarea:focus { border-color: #36a6bc; }
	
	.questDiv { min-height: 80px; }
	
	.validInput,
	.invalidInput { 
		display: inline;
		position: relative; }
	
		.validInput input { 
			padding-right: 30px !important;
			background-color: #DAFBC4 !important;
			border-color: #77B526 !important; }
	
		.validInput:after {
			content: "\f00c";
			position: absolute;
			top: 0;
			right: 10px;
			font-family: "FontAwesome";
			font-size: 14px;
			color: #77B526; }
	
		.invalidInput input { 
			padding-right: 30px !important;
			background-color: #fff9e7 !important;
			border-color: #f5af43 !important; }
		
		.invalidInput:after {
			content: "\f071";
			position: absolute;
			top: 0;
			right: 10px;
			font-family: "FontAwesome";
			font-size: 14px;
			color: #f5af43; }
			
	.DOB_div {
	  width: 200px;
	  float:left;
	  margin-bottom: 10px; }
	  
	  #DOB_no_category_warning_div { 
		max-width: 170px; 
		font-size: 11px; 
		padding-left: 27px; }
	
	#registrationPage_confirmation { 
		width: 100%;
		float: left;
		margin-top: 20px; }
		
		#registrationPage_confirmation .breakdown { 
			width: 100%;
			float: left;
			padding-bottom: 40px;
			margin-bottom: 40px;
			border-bottom: 4px solid #ddd; }
			
			#registrationPage_confirmation .breakdown .title {
				line-height: 40px;
			}
			
			#registrationPage_confirmation .breakdown .note { 
				float: right;
				font-size: 13px; }
				
				#registrationPage_confirmation .breakdown .note.print a {
					height: 40px;
					float: left;
					padding: 10px 13px;
					background: #f5f5f5;
					border: 1px solid #ddd;
					color: #222; }
				
				#registrationPage_confirmation .breakdown .note.print a:hover { text-decoration: none; }
					
				#registrationPage_confirmation .breakdown .note.print a:before {
					content: "\f02f";
					display: inline-block;
					margin-right: 7px;
					font-family: "FontAwesome";
					font-size: 16px;
					text-rendering: auto;
					-webkit-font-smoothing: antialiased;
					-moz-osx-font-smoothing: grayscale; }
		
			#registrationPage_confirmation .breakdown table {
				width: 100%;
				float: left;
				margin: 15px 0 10px; }
			
				#registrationPage_confirmation .breakdown table thead { 
					background: #e9eaea;
					border-bottom: 1px solid #e4e4e4; }
					
				#registrationPage_confirmation .receipt table tr:nth-child(even) { background: #f5f5f5; }
				#registrationPage_confirmation .receipt table tr:last-child { background: none; }
	
				#registrationPage_confirmation .breakdown table th {
					padding: 10px;
					background: #2c3435;
					font-family: 'Titillium Web', sans-serif;
					font-size: 14px;
					font-weight: bold;
					color: #fff; }
		
				#registrationPage_confirmation .breakdown table td { 
					padding: 10px;
					border-bottom: 1px solid #e4e4e4; }
				
				#registrationPage_confirmation .breakdown table tr td:nth-last-child(-n+2),
				#registrationPage_confirmation .breakdown table tr th:nth-last-child(-n+2) { text-align: right; }
			
				#registrationPage_confirmation .breakdown table tr:last-child td { 
					border-top: 1px solid #aaa;
					border-bottom: none; }
					
				#registrationPage_confirmation .breakdown table td label {
					width: 100px;
					float: left;
					display: none;
					font-weight: bold; }
					
				#registrationPage_confirmation .breakdown table td .content { overflow: hidden; }
				
				#registrationPage_confirmation .breakdown table .feesLabel { display: none; }
			
				#registrationPage_confirmation .breakdown .promoCode { float: left; }
				
					#registrationPage_confirmation .breakdown .promoCode input { width: 100px; }
				
					#registrationPage_confirmation .breakdown .promoCode button, a.promoCodeBtn { 
						height: 40px;
						padding: 0 15px;
						vertical-align: top;
						border: none;
						font: inherit;
						color: #fff; }
						
				#registrationPage_confirmation .breakdown .grandTotal {
					float: right;
					margin-top: 9px;
					font-size: 18px;
					font-weight: bold;
					text-align: right; }
					
				#registrationPage_confirmation .breakdown .grandTotal .cur { 
					margin-top: 5px;
					font-size: 13px;
					font-weight: normal; }
	
		#registrationPage .field_creditCard { 
			width: 100%;
			float: left;
			margin: 30px 0 40px; }
		
		#billingSameMailing {
			float: left;
			clear: both; }
		
			#registrationPage .field_creditCard .group {
				float: left;
				margin-right: 24px; }
	
			#registrationPage .field_creditCard .group:last-child { margin-right: 0; }
		
			#registrationPage .field_creditCard input { width: 55px; }
			
			#registrationPage .field_creditCard .type label input { display: none; }
			
			#registrationPage .field_creditCard .type label img { 
				margin-top: 4px;
				opacity: 0.2;
				cursor: pointer; }
				
			#registrationPage .field_creditCard .type label img:hover { opacity: 0.5; }
			
			#registrationPage .field_creditCard .type label input:checked + img { opacity: 1; }
			
			#registrationPage .checkboxOptions { 
				width: 100%;
				float: left;
				padding-top: 40px;
				margin: 25px 0 23px;
				border-top: 1px solid #ddd; }
				
				#registrationPage .checkboxOptions > div { margin-bottom: 7px; }
				
	#registrationPage_receipt {
		width: 100%;
		float: left;
		margin-top: 20px; }
		
		#registrationPage_receipt .receipt { 
			width: 100%;
			float: left; }
			
			#registrationPage_receipt .receipt .note { 
				float: right;
				font-size: 13px;
				font-style: italic;
				text-align: right; }
		
			#registrationPage_receipt .receipt table {
				width: 100%;
				float: left;
				margin: 15px 0 10px; }
			
				#registrationPage_receipt .receipt table thead { 
					background: #e9eaea;
					border-bottom: 1px solid #e4e4e4; }
					
				#registrationPage_receipt .receipt table tr:nth-child(even) { background: #f5f5f5; }
				#registrationPage_receipt .receipt table tr:last-child { background: none; }
	
				#registrationPage_receipt .receipt table th {
					padding: 10px;
					background: #2c3435;
					font-family: 'Titillium Web', sans-serif;
					font-size: 14px;
					font-weight: bold;
					color: #fff; }
		
				#registrationPage_receipt .receipt table td { 
					padding: 10px;
					border-bottom: 1px solid #e4e4e4; }
				
				#registrationPage_receipt .receipt table tr td:nth-last-child(-n+2),
				#registrationPage_receipt .receipt table tr th:nth-last-child(-n+2) { text-align: right; }
			
				#registrationPage_receipt .receipt table tr:last-child td { 
					border-top: 1px solid #aaa;
					border-bottom: none; }
					
				#registrationPage_receipt .receipt table td label {
					width: 100px;
					float: left;
					display: none;
					font-weight: bold; }
					
				#registrationPage_receipt .receipt table td .content { overflow: hidden; }
				
				#registrationPage_receipt .receipt table .feesLabel { display: none; }
			
				#registrationPage_receipt .receipt .promoCode { float: left; }
				
					#registrationPage_receipt .receipt .promoCode button, .promoCode a.promoCodeBtn { 
						height: 40px;
						padding: 0 15px;
						vertical-align: top;
						border: none;
						font: inherit;
						color: #fff; }
						
						a.promoCodeBtn {
							padding-top: 10px !important;
							color: #fff !important;	
							display: inline-block !important;
							cursor: pointer !important; }
							
							a.promoCodeBtn:hover {
								text-decoration: none !important; }
						
				#registrationPage_receipt .receipt .grandTotal {
					float: right;
					margin-top: 9px;
					font-size: 18px;
					font-weight: bold;
					text-align: right; }
	
	/*** REGISTRATION - PASSWORD PROTECT ***/
	#registrationPage header.password .top { border-bottom: 0; }
		
		#registrationPage header.password .right {
			width: calc(100% + 20px);
			max-width: inherit;
			float: left;
			padding: 5px 0 0 20px;
			margin: 13px 0 0 -20px;
			border-top: 1px solid #e4e4e4; }
			
			#registrationPage header.password .right span {
				width: auto;
				float: left;
				padding: 0 0 0 25px; }
			
			#registrationPage header.password .right .location,
			#registrationPage header.password .right .date { 
				margin: 10px 17px 0 0;
				background-position: top 1px left; }
	
	#registration_passwordProtect {
		width: 100%;
		float: left;
		margin: 0; }
	
		#registration_passwordProtect .box {
			width: 500px;
			max-width: 100%;
			margin: 0 auto;
			text-align: center; }
			
			#registration_passwordProtect .box .wrap {
				width: 100%;
				float: left;
				background: #fff;
				border: 1px solid #eee;
				box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
			
		#registration_passwordProtect .block { 
			width: 100%;
			float: left;
			padding: 30px 40px; }
			
		#registration_passwordProtect .block.grey { 
			background: #fafafa;
			border-top: 1px solid #ddd;
			border-bottom: 1px solid #ddd; }
		
		#registration_passwordProtect h1 { font-size: 28px; }
		
		#registration_passwordProtect .subHead { font-size: 16px; }
		
		#registration_passwordProtect .enterCode {
			width: 100%;
			float: left;
			padding: 2px 0 0 90px;
			background: url(../images/icon_lock.png) center left no-repeat;
			background: url(../images/svg/icon_lock.svg) center left no-repeat, linear-gradient(transparent, transparent);
			background-size: 50px auto;
			text-align: left; }
			
			#registration_passwordProtect .enterCode label.title {
				display: block;
				margin-bottom: 10px;
				font-weight: bold; }
			
		#registration_passwordProtect .code {
			width: 100%;
			float: left;
			position: relative;
			padding-right: 90px; }
		
			#registration_passwordProtect .code input[type="text"], #registration_passwordProtect .code input[type="password"] {
				width: 100%;
				height: 50px;
				float: left;
				background: #fff;
				border: 1px solid #ddd; }
				
			#registration_passwordProtect .code input[type="submit"] {
				width: 90px;
				height: 50px;
				position: absolute;
				top: 0;
				right: 0;
				z-index: 10; }
				
		#registration_passwordProtect .option {
			width: 100%;
			float: left; }
		
			#registration_passwordProtect .option label {
				display: block;
				position: relative;
				padding-left: 25px; }
			
				#registration_passwordProtect .option label input {
					position: absolute;
					top: 0;
					left: 0; }
				
		#registration_passwordProtect .problem a { color: #aaa; }
		
	/*** 1366px ***/
	@media screen and (max-width: 1366px) {
		#registrationPage .fixedBar .on .wrap { padding: 20px 40px; }
		#registrationPage .foot .footFixed.on .wrap { padding: 10px 40px 0; }
	}
		
	@media screen and (max-width: 1200px) {
	   .hideOrgName { 
	   		display: none; }
	   
	   .myRegistrationsNotificationDiv { width: 100% !important; }
   
	   #registrationPage header.details .right { margin-top: -20px; }
   
	   #registrationPage header.password .right { margin-top: 13px; }
				   
		#registrationPage header.password .right span { 
			width: auto;
		    margin: 10px 17px 0 0; }
	   
	   #registrationPage:not(.single) #registration_individual main .main .eventList .events .half { width: 100%; }
	}
	
	/*** 1100px ***/
	@media screen and (max-width: 1100px) {
	 	.hide_1100 { display: none; }
		 
		 #registrationPage main .main .eventList .events .third { width: 50%; }
		#registrationPage header.details .bottom ul li a span.default { display: none; }
		#registrationPage header.details .bottom ul li a span.mobile { display: inline-block; }
		
		.confirmation_receipt_table .force_no_wrap {
		  	max-width: 250px;
			  text-overflow: ellipsis !important; }
		  
		  .confirmation_receipt_table tr td, .confirmation_receipt_table tr th {
			  font-size: 12px !important; }
		  
		  .confirmation_receipt_table .smaller_txt {
			 font-size: 11px !important; }
			 
			 body {
				background:  white !important; }
	}
	
	
	/*** 1000px ***/
	@media screen and (max-width: 1000px) {
	
		#registrationPage header.details .content { overflow: visible; }
	
		#registrationPage header.details .top {
			width: auto;
			float: none;
			padding: 0 0 10px 20px;
			margin-bottom: 0;
			border-bottom: none;
			overflow: hidden; }
	
		#registrationPage header.details .title { 
			max-width: 100%;
			float: none;
			display: block; }

		#registrationPage header.details .right {
			max-width: 100%;
			float: none;
			display: block;
			margin-top: 5px;
			text-align: left; }
		
		#registrationPage header.details .right span { 
			width: auto;
			float: left;
			padding: 0 0 0 25px;
			margin: 10px 0 0; }
		
		#registrationPage header.details .right .date { 
			margin: 10px 17px 10px 0;
			background-position: top 1px left; max-width: 45% !important;  }
		
		
		#registrationPage header.details .right .location { background-position: top 1px left 3px; }
		
		#registrationPage header.password .right { 
			margin-top: 0;
			border-top: 0; }
		
		#registrationPage header.details .bottom { 
			padding: 0;
			margin-top: 15px; }
		
		#registrationPage .fixedBar .on .wrap { padding: 20px 30px; }
			
		#registrationPage .foot .footFixed.on .wrap { padding: 10px 30px 0; }
			
		#registrationPage .fixedBar .refine { 
			width: 200px;
			margin-right: 10px; }
			
		#registrationPage #registration_individual main { padding: 20px 0 0 200px; }
		
		#registrationPage #registration_individual main aside { 
		  margin-left: -200px;
		  width: 200px; }
		  
		#registrationPage main aside .refine { 
			max-width: 200px; }
			
		#registrationPage main #registration_individual .main { padding-left: 30px; }
		
		.confirmation_receipt_table .force_no_wrap {
			  max-width: 225px;
			  text-overflow: ellipsis !important; }
		  
	}
	
	@media screen and (max-width: 900px) {
	   .hide_900 { display: none; }
	   .show_900 { display: block; }
	   
	   #registrationPage main aside .refine { 
			max-width: 100%; }
		   
	   .ind_events_row_checkbox_holder_div {
		 padding: 0 15px 0 15px; }
	   
	   #registrationPage main .main .eventList .events .third {
		 width: 100%;
		 float: none;
		 padding: 0; }
	   
	   .seed_meet_text {
		   width: 75px; }
		   
	   .seed_location_text {
		   width: 55px;
		   margin-left: 10px; }
	   
	   .seed_date_text {
		   width: 55px;
		   margin-left: 10px; }
	   
	   
		#registrationPage .fixedBar .refine { display: none; }
		   
	   #registrationPage .fixedBar .registerNum { margin: 0; }
	   
	   #registrationPage .fixedBar .formatBtns a span { display: none; }
	   
	   #registrationPage .fixedBar .formatBtns a:before { margin: 0; }
	   
	   #registrationPage main aside a.open { display: block; }
	   
	   #registrationPage #registration_individual main { padding-left: 0; }
	   
	   #registrationPage #registration_individual main aside { 
		   width: 100%;
		   position: fixed;
		   top: 0;
		   right: 100%;
		   bottom: 0;
		   left: auto;
		   z-index: 1001;
		   padding: 40px 0 40px;
		   background: #fff;
		   transition: 0.5s ease all; }
		   
	   #registrationPage #registration_individual main aside.open { right: 0; }
	   
	   #registrationPage #registration_individual main aside .refine, #registrationPage #registration_individual main aside .close { display: block; }
	   
	   /*#registrationPage #registration_individual main aside .refine { top: 68px; }*/
	   #registrationPage #registration_individual main aside .refine { top: 0px; }
	   
	   #registrationPage #registration_individual main aside .refine input {
		   border: none;
		   border-right: 1px solid #e4e4e4; }
	   
		#registrationPage #registration_individual main .main { padding: 0; }
			 
		#registrationPage #registration_individual main .main .eventList .events .half { width: 100%; }
		
		.confirmation_receipt_table .force_no_wrap {
			  max-width: 175px;
			  text-overflow: ellipsis !important; }
		  
		  .confirmation_receipt_table tr td, .confirmation_receipt_table tr th {
			  font-size: 11px !important; }
		  
		  .confirmation_receipt_table .smaller_txt {
			 font-size: 10px !important; }
	}
	
	
	/*** 850px ***/
	@media screen and (max-width: 850px) {
	   
	   #registrationPage .admin_payment_option label.title {
		 display: inline; }
		
		#registrationPage .admin_payment_option {
		  width: 100%;
		  margin-top: 15px;
		  display: block; 
		  clear: both; }
		
		#registrationPage .field_creditCard .type { 
		  width: 100%;
		  margin-top: 15px; }
		
		.seed_meet_text {
			  display: none; }
		
	}
	
	/*** 840px ***/
	@media screen and (max-width: 840px) {
		
		.requiredText span { display: none; }
		
		.seed_meet_text {
			display: none; }
		
	}
	
	/*** 800px ***/
	@media screen and (max-width: 800px) {
		#registrationPage .fixedBar, #registrationPage .fixedBar > div { height: auto; }
		#registrationPage .fixedBar > div.on { position: static; }
		
		.confirmation_receipt_table .force_no_wrap {
			  max-width: 150px;
			  text-overflow: ellipsis !important; }
		
	}
	
	/*** 700px ***/
	@media screen and (max-width: 700px) {
		.questDiv { min-height: auto; }
		
		#hide_fixed_error_warnings {
		  width: 100%;
		  clear: both;
		  display: block;
		  margin-bottom: 10px; }
		
		#registrationPage header.details div.title h1 {
		  display: block;
		  margin-bottom: 10px;
		  width: 100% !important;
		  clear: both !important; }
		  
		#registrationPage header.details figure { 
		  margin-bottom: 15px;
		  text-align: center !important;
		  width: 100% !important;
		  clear: both !important; }
		
		#registrationPage header.details figure img { 
		  margin-left: auto;
		  margin-right: auto; }
	
	#registrationPage header.details .bottom ul li a span:not(.num) { display: none; }
		
		#registrationPage .fixedBar .registerNum { width: 100%; }
		
		#registrationPage .fixedBar .formatBtns { display: none; }
		
		#registrationPage #registration_individual main .main .col_row .col { width: 100%; }
		
		#registrationPage .foot .btns div a { 
			padding: 15px 0;
			font-size: 11px; }	
			
			.confirmation_receipt_table .force_no_wrap {
				  max-width: 125px;
				  text-overflow: ellipsis !important; }
			  
			  .confirmation_receipt_table tr td, .confirmation_receipt_table tr th {
				  font-size: 10px !important; }
			  
			  .confirmation_receipt_table .smaller_txt {
				 font-size: 9px !important; }
	}
	
	/*** 600px ***/
	@media screen and (max-width: 600px) {
		 #registrationPage header.details figure { 
			width: 70px;
			height: 70px; }
					
		#registrationPage header.details .top { padding-left: 15px; }
		
		#registrationPage_confirmation .breakdown .promoCode { 
			float: right;
			margin-bottom: 11px; }
			
		#registrationPage_confirmation .breakdown .grandTotal,
		#registrationPage_receipt .receipt .grandTotal { width: 100%; }
			
		#registrationPage .field_creditCard .cardNum { 
			width: 100%;
			margin-bottom: 15px; }
	}
	
	/*** 500px ***/
	@media screen and (max-width: 500px) {
	
		#registrationPage header.details .title h1 { 
			display: block;
			margin: 0 0 15px; }
			
		#registrationPage header.details .title a.info {
			width: 70px;
			position: absolute;
			left: 0;
			top: 80px;
			padding: 0;
			text-align: center; }
			
			#registrationPage header.details .title a.info:hover { background: none; }
				
		#registrationPage header.details .right span { 
			display: block;
			float: none; }
		
		#registrationPage header.password .right { padding-top: 0; }
			
		#registrationPage .fixedBar .registerNum .importBtns a span { display: none; }
		
		#registrationPage .fixedBar a.import svg { margin-right: 0; }
		
		#registrationPage .fixedBar a.share { padding-left: 29px; }
		
		#registrationPage main aside a.open { bottom: 50px; }
		
		#registrationPage #registration_individual main .main label.inline { 
			display: block;
			margin-bottom: 7px; }
		
		#registrationPage #registration_individual main .main input.memberId {
			width: 100%;
			margin: 0; }
		
		/*#registrationPage main .main .eventList table th { display: none; }
		
		#registrationPage main .main .eventList table tr td { 
			width: 100%;
			float: left;
			padding-right: 0; }
		
			#registrationPage main .main .eventList table tr td:last-child { padding-bottom: 15px; }*/
			
		#registrationPage main .main .eventList h5 { margin-bottom: 10px; }
			
		#registrationPage #registration_individual main .main .eventList ul li { 
			padding: 0 10px;
			margin: 0 0 10px; }
		
		#registrationPage #registration_individual main .main .eventList ul li.head { display: none; }
		
		#registrationPage #registration_individual main .main .eventList ul li.disable:after { 
			top: 40px;
			left: 0;
			display: none; }
			
		#registrationPage #registration_individual main .main .eventList ul.disable li:after { top: 0; }
		
			#registrationPage #registration_individual main .main .eventList ul li > div { width: 100%; }
			
			#registrationPage #registration_individual main .main .eventList ul li .label { margin: 0; }
			
			#registrationPage #registration_individual main .main .eventList ul li .dropdown { 
				padding: 0;
				margin: 0 0 10px; }
			
			#registrationPage #registration_individual main .main .eventList ul li .seeds, #registrationPage #registration_individual main .main .eventList ul li .seed_hour, #registrationPage #registration_individual main .main .eventList ul li .seed_seconds, #registrationPage #registration_individual main .main .eventList ul li .seed_meter { 
				float: left;
				margin: 0; }
				
			#registrationPage #registration_individual main .main .eventList ul li .fields { 
				height: auto;
				opacity: 1;
				transition: 0.5s ease all; }
				
			#registrationPage #registration_individual main .main .eventList ul li.disable .fields { 
				height: 0;
				overflow: hidden;
				opacity: 0; }
		
		#registrationPage .foot, #registrationPage .foot .footFixed, #registrationPage .foot .wrap { height: auto; }
		
		#registrationPage .foot .footFixed.on { position: static; }
		
			#registrationPage .foot .footFixed.on .wrap { padding: 10px 0 0; }
		
		#registrationPage .foot .btns { display: block; }
		
			#registrationPage .foot .btns div { 
				width: 100%;
				float: left;
				margin-bottom: 10px; }
		
		#registration_passwordProtect .enterCode {
			padding: 0;
			background: none; }
			
		#registrationPage_confirmation .breakdown .note,
		#registrationPage_receipt .receipt .note {
			width: 100%;
			margin-bottom: 10px; }
	}
	
	/*** 414px ***/
	@media screen and (max-width: 414px) {
	
	 #registrationPage .fixedBar .registerNum .athletes span, #registrationPage .fixedBar .requiredText span, #registrationPage #registration_individual main .main .requiredText span { display: none; }
		
		#registrationPage_confirmation .radioOptions label { 
			float: none;
			display: block;
			margin-bottom: 10px; }
		
		#registration_passwordProtect .block { padding: 30px 24px; }
	
		#registration_passwordProtect h1 { font-size: 24px; }
		
		#registration_passwordProtect .subHead { font-size: 14px; }
		
		#registration_passwordProtect .code { padding-right: 70px; }
				
			#registration_passwordProtect .code input[type="submit"] { 
				width: 70px;
				padding: 0; }
				
		#registration_passwordProtect .option { font-size: 13px; }
	}
	
	/*** 375px ***/
	@media screen and (max-width: 375px) {
		#registrationPage_confirmation .billingInfo .col_4 { width: 100%; }
	}