.contest-register {
	width: 100%;
	padding: 5px 10px;
	background-color: white;
	box-shadow: 0 -10px 20px -20px #4f477a;
}

.contest-register-header {
	padding: 20px 0 0;
	color: #4f477a;
	font-weight: 450;
	font-size: 24px;
	text-align: center;
}

.contest-register-content {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	color: #1d3756;
	font-size: 16px;
	line-height: 1.5em;
}

.contest-register-content-box {
	margin: 25px 0;
}

.contest-register-content h3 {
	color: #4f477a;
	font-weight: 450;
	margin: 10px 0;
}

.contest-register-content p {
	margin: 10px 0;
}

.contest-register .btn {
	text-transform: uppercase !important;
	line-height: 30px !important;
	height: 30px !important;
	min-width: 100px !important;
	text-align: center !important;
	margin-right: 3px;
	margin-bottom: 3px;
}

.contest-register ul {
	margin: 10px 0;
}

.contest-register li {
	margin: 5px 0;
}

.contest-register li .btn {
	margin-left: 3px;
}

.contest-register-block {
	margin: 10px 0;
	display: none;
}

.contest-register-block.show-always {
	display: block;
}

.contest-register-block.highlight {
	margin: 15px 0;
	padding: 2px;
	background: #e9e9e9;
}

.contest-register-block input,
.contest-register-block select {
	margin: 0 5px;
}

.contest-register-block label.read-only,
.contest-register-block input.read-only {
	pointer-events: none;
}

.contest-register-block input.read-only {
	border-color: rgba(255, 255, 255, 0);
	background: none;
}

.contest-register-block .text-field {
	width: 400px;
	max-width: calc(100% - 10px);
}

.contest-register-block .home-address-wrapper {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	width: 400px;
	max-width: calc(100% - 10px);
	margin: 0 10px;
}
.contest-register-block .home-address-wrapper input {
	-webkit-flex: 1 1 auto;
	        flex: 1 1 auto;
	margin: 3px;
	width: 400px;
	max-width: none;
}
.contest-register-block input.text-field.home-city {
	width: 235px;
}
.contest-register-block input.text-field.home-state {
	width: 50px;
	-webkit-flex: 0 0 auto;
	        flex: 0 0 auto;
}
.contest-register-block input.text-field.home-zip {
	width: 95px;
	-webkit-flex: 0 1 auto;
	        flex: 0 1 auto;
}

.contest-register-block label,
.contest-register-block .field-caption {
	font-size: 17px;
	padding: 5px 7px;
	display: block;
	font-weight: 450;
}

.contest-register-block label:hover {
	background: rgba(0, 0, 0, 0.05);
	cursor: pointer;
}

.contest-register-block .field-text,
.contest-register-block .field-sub-text {
	padding: 5px 10px;
}

.contest-register-block.radio-block label {
	font-size: 16px;
	margin-left: 30px;
	font-weight: normal;
}

.contest-register-block.radio-block label:hover {
	background-color: #eeeeee;
	cursor: pointer;
}

.contest-register-block.check-block label:hover {
	cursor: pointer;
}

p.registration-comment {
	font-size: 14px;
	margin-left: 35px;
	font-style: italic;
}

.contest-mathcounts-official-register-lhs {
	display: inline-block;
	width: 6.6em;
}

.registration-full,
h3.registration-full,
.registration-closed-usemo {
	text-align: center;
	color: #f57a0e;
}

.registration-disclosure {
	margin-bottom: 20px;
}
